SQL Server-Sicherung fehlgeschlagen. Fehler: 3041, Schweregrad: 16, Status: 1

11

Zunächst einmal bin ich sehr neu bei Stackexchange. Bitte nehmen Sie Kontakt mit mir auf.

Ich verwende einen SQL Server 9.0.4060.

Mein Problem ist: Meine SQL Server-Sicherung schlägt in vielen Datenbanken immer wieder fehl.

Der Wartungsplan wird für verschiedene Sicherungsjobs ausgeführt:

DIFF-Sicherung jeden Tag um 20:30 Uhr und VOLLSTÄNDIGE Sicherung jeden Sonntag um 20:30 Uhr.

Ich erhalte diese beiden Fehler für jede Datenbank, bei der die Sicherung nicht abgeschlossen werden kann:

Date        06-11-2012 20:31:06
Log     SQL Server (Current - 07-11-2012 11:43:00)
Source      Backup
Message
BACKUP failed to complete the command BACKUP DATABASE (dbname) WITH DIFFERENTIAL. Check the backup application log for detailed messages.

Date        06-11-2012 20:31:06
Log     SQL Server (Current - 07-11-2012 11:43:00)
Source      Backup
Message
Error: 3041, Severity: 16, State: 1.

Zusätzliche Fehler.

Date     06-11-2012 17:53:27 
Log      SQL Server (Current - 07-11-2012 11:43:00) 
Source   Logon 
Message  Error: 18456, Severity: 14, State: 16.

Date     06-11-2012 17:53:27 
Log      SQL Server (Current - 07-11-2012 11:43:00) 
Source   Logon 
Message  Login failed for user 'sa'. [CLIENT: <local machine>]

Date     06-11-2012 20:30:11
Log      SQL Server (Current - 09-11-2012 11:27:00)
Source   spid15s
Message
SQL Server has encountered 2 occurrence(s) of cachestore flush for the 'Bound Trees' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.

Es gibt andere ähnliche Fehler wie oben, mit 'SQL-Plänen' und 'Objektplänen'. Anstelle von 'Gebundenen Bäumen'.

Wenn ihr andere Informationen braucht, sagt einfach das Wort.

Arviddk
quelle
Gibt es Fehler vor dem 3041 im SQL Server-Fehlerprotokoll? (nicht das Windows-Protokoll)
Alex K.
Ja, es gibt diese beiden Fehler: "Datum 06-11-2012 17:53:27 Protokoll SQL Server (aktuell - 07-11-2012 11:43:00) Fehler bei der Quellanmeldemeldung: 18456, Schweregrad: 14, Status: 16. "" Datum 06-11-2012 17:53:27 Protokollieren von SQL Server (aktuell - 07-11-2012 11:43:00) Anmeldung der Quellanmeldungsnachricht für Benutzer 'sa' fehlgeschlagen. [CLIENT: <lokaler Computer> ] "
Gibt es mehr Fehler als das?
Swasheck
Ja @swasheck, ich habe ein paar weitere Fehler in der Beschreibung
hinzugefügt
Handelt es sich um native Backups oder verwenden Sie eine andere Backup-Software?
Swasheck

Antworten:

4

Wie Max betonte, korreliert der sa-Anmeldefehler nicht mit der Sicherungszeit, wie dies einige Stunden zuvor der Fall war, der zweite jedoch. Haben Sie nachgesehen: http://blogs.msdn.com/b/sqlprogrammability/archive/2007/01/17/10-0-plan-cache-flush.aspx

http://www.sqlservercentral.com/Forums/Topic377116-146-1.aspx#bm380502

Spielen einige der Elemente im MSDN-Blog einen Faktor in Ihrer Umgebung? Am gebräuchlichsten wäre AUTO_CLOSE ON. Lass es uns wissen, danke.

Ali Razeghi
quelle
AUTO_CLOSE ist auf 10 von 164 DBs aktiviert. Ich habe am 13.11.2012 um 21:45:24 Uhr 70 Vorkommen von "Gebundenen Bäumen", "SQL-Plänen" und "Objektplänen" gezählt. Am 13/11/2012 21:53:15 wurde es auf jeweils 1 Vorkommen zurückgesetzt. Hoffe das hilft.
Arviddk
Hilft Ihnen dies, den Fehler @ SQL-Learner zu identifizieren? Ich habe die anderen IT-Mitarbeiter in meiner Abteilung gefragt, ob sie wissen, ob einer der anderen Befehle im MSDN-Blog erwähnt wird.
Arviddk
Hallo Arviddk, lass mich heute näher darauf eingehen! Vielen Dank.
Ali Razeghi
Okay, ich freue mich auf Ihre Antwort!
Arviddk
2

Schauen Sie sich hier Folgendes an: Fehlerbehebung bei "Msg 3041" in SQL Server

Auszug aus der Seite:

Die Nachricht 3041 ist ein allgemeiner Bericht über den Sicherungsfehler. Um die Fehlerursache zu verstehen und zu beheben, müssen Sie die SQL Server-Fehlerprotokolleinträge verwenden, die vor dem 3041-Ereigniseintrag auftreten. In der Regel wird 3041 eine detaillierte Fehlermeldung vorangestellt, in der der wahre Grund für den Sicherungsfehler angegeben ist. Die detaillierten Fehlermeldungen werden nur in das SQL Server-Fehlerprotokoll und in die Clientanwendung geschrieben. Die detaillierte Nachricht wird im Anwendungsprotokoll in Windows nicht gemeldet.

Update (nach dem Lesen des Kommentars von @dezso)
Ich habe den gemeldeten "zusätzlichen Fehler" gesehen, bin mir jedoch nicht sicher, ob er mit dem Sicherungsfehler zusammenhängt. Der Sicherungsfehler ist auf 20:31:06 datiert, aber der "zusätzliche Fehler" ist auf 17:53:27 datiert, sodass der zusätzliche Fehler ungefähr 2 Stunden und 40 Minuten vor dem eigentlichen Sicherungsfehler aufgetreten ist. Diese zusätzlichen Fehler hängen mit einem Anmeldeproblem zusammen.

Ich glaube nicht, dass ein Anmeldeproblem um 17:53:27 dazu führen kann, dass eine Sicherung um 20:31:06 fehlschlägt. Denken Sie also, dass der Sicherungsfehler und der "zusätzliche Fehler" nichts miteinander zu tun haben.

Ich glaube auch nicht, dass ein generischer Fehler, der um 17:53:27 auftritt, dazu führen kann, dass eine Sicherung um 20:31:06 fehlschlägt (es sei denn, die Datenbank ist wirklich groß). @Arviddk berichtet, dass "meine SQL Server-Sicherung in vielen Datenbanken immer wieder fehlschlägt ". Ich denke, es ist sicher anzunehmen, dass "viel" mehr als 10 DB bedeutet.
Ich denke also, wenn eine einzelne Sicherung einer einzelnen Datenbank länger als 2 Stunden und 40 Minuten dauert, können Sie nicht 10 oder 20 DBs auf einem einzelnen Server haben ... oder Ihr Server wird sein Leben damit verbringen, nur eine Sicherung durchzuführen. Daher habe ich angenommen, dass die einzelne Sicherung weniger als 2 Stunden und 40 Minuten dauert. Daher denke ich, dass der Sicherungsfehler und der zusätzliche Fehler nicht miteinander zusammenhängen.

Der letzte gemeldete Fehler "Cachestore Flush / 'Bound Trees'" ist auf den 06-11-2012 20:30:11 datiert, sodass nach dem Sicherungsfehler etwas passiert ist. Auf jeden Fall sollte ein Problem im Zusammenhang mit dem Cache nicht zu einem Fehler führen (Ereignis, wenn es etwas verlangsamen kann).

Einige Fragen
Einige Fragen, die helfen könnten, das Problem zu identifizieren:

  • Wie lange dauert die Ausführung eines vollständigen Backups?
  • Wie lange dauert die Ausführung einer DIFF-Sicherung?
  • Tritt der Fehler nur bei der DIFF-Sicherung auf?
  • Welcher Prozentsatz der Sicherung schlägt fehl? (1% - 10% 50%)
  • Vielleicht können Sie versuchen, nur eine vollständige Sicherung durchzuführen, um zu überprüfen, ob es sich um ein Problem im Zusammenhang mit der DIFF-Sicherung handelt? (Ich habe noch nie eine DIFF-Sicherung auf SQL Server durchgeführt, ich habe keine Erfahrung damit)

Laut der MS-Website im SQL Server-Protokoll sollte es einige andere Fehler im Zusammenhang mit der fehlgeschlagenen Sicherung geben, aber ich erwarte etwas näher an der Zeit, zu der die Sicherung fehlschlägt.

Max
quelle
OP hat bereits Fehlermeldungen vor 3041 aufgenommen - denken Sie, dass dies immer noch nicht ausreicht? Wenn ja, ändern Sie bitte Ihren Beitrag entsprechend.
Dekso
Die Sicherung schlägt sowohl für DIFF als auch für FULL fehl. Es dauert durchschnittlich 2-3 Minuten, bis die Sicherung abgeschlossen ist. (Der letzte Fehler wird 2-3 Minuten nach dem Start der Sicherung protokolliert.) Ich habe 100 dieser Fehler in der DIFF-Sicherung vom 13.11.2012 gezählt - "BACKUP konnte den Befehl BACKUP DATABASE (Datenbankname) WITH DIFFERENTIAL ..... nicht
ausführen
@Arviddk Sie sprechen über 164 DBs, aber sind diese DBs alle auf einem einzigen Server? Wie sind die DB-Backups geplant? Vielleicht kann der Fehler, den Sie sehen, mit einer Art geplanter Sicherungen zusammenhängen, die sich überschneiden? (Ich weiß nicht, ob die gleichzeitige Ausführung von 2 oder mehr T-SQL-Sicherungen zu Fehlern führen kann ... Ich habe es noch nie versucht.) Wenn sich die Sicherungen zeitlich überschneiden, ist es möglicherweise möglich, sie zu zwingen, 1 zu 1 in einer Serie auszuführen Weg? (Auf meinem Server habe ich ein einziges Skript, das alle meine DBs sichert, sodass es keine Überlappungen bei der Ausführung der Sicherung gibt.)
Max
Ja, auf dem Server befinden sich 164 DBs. Aber 99 von ihnen sind OFFLINE. Die Funktion 'Auto_close' ist für einige DBs aktiviert, sodass sie geschlossen werden, wenn sie nicht verwendet werden. (Soweit ich
weiß