Wir haben kürzlich auf das FULL
Wiederherstellungsmodell umgestellt, wobei jedes Wochenende vollständige Sicherungen durchgeführt und jeden Tag Differentiale erstellt werden.
Das Problem ist, dass die differenziellen Sicherungen nicht immer zu funktionieren scheinen. Die im Auftragsverlauf aufgezeichnete Fehlermeldung lautet
Als Benutzer ausgeführt: Benutzername. ... 9.00.3042.00 für 32-Bit-Copyright (C) Microsoft Corp 1984-2005. Alle Rechte vorbehalten.
Gestartet: 11:20:12 Fortschritt: 2013-01-25 11: 20: 13.90 Quelle: {450389BA-54C2-4892-9CD0-0126CA9B0ED8} Abfrage "DECLARE @Guid UNIQUEIDENTIFIER EXECUTE msdb..sp" ausführen: 100% complete End Progress Error: 2013-01-25 11: 20: 14.40 Code: 0xC002F210
Quelle : Backup Database (Differential) SQL
ausführen Task Beschreibung: Ausführen der Abfrage "BACKUP DATABASE [MyDatabase] TO DISK = N'E: \ Database Backups \ MyDatabase_backup_201301251120.diff 'MIT DIFFERENTIAL, NOFORMAT, NOINIT, NAME = N'MyDatabase_backup_20130125112014', SKIP, REWIND, NOUNLOAD, STATS = 10 "ist mit dem folgenden Fehler fehlgeschlagen:"Eine differenzielle Sicherung für die Datenbank" MyDatabase "kann nicht durchgeführt werden, da keine aktuelle Datenbanksicherung vorhanden ist. Führen Sie eine vollständige Datenbanksicherung durch, indem Sie BACKUP DATABASE erneut ausgeben und die Option WITH DIFFERENTIAL weglassen. BA ... Die Paketausführung fa ... Der Schritt gescheitert.
Der vollständige Sicherungsjob wird jedes Mal erfolgreich abgeschlossen, und ich kann ihn msdb.dbo.backupset
mithilfe der hier gefundenen Abfrage anzeigen , sodass ich weiß, dass er vorhanden ist. Und es sieht aus wie nach einem Neustart, der differentielle Backup tut erfolgreich abgeschlossen wird bis zur nächsten vollständigen Sicherung.
Hier ist ein Blick auf meine berufliche Laufbahn:
1/16 - Vollständige Sicherung - Erfolg 1/17 - Differenzielle Sicherung - Erfolg 1/18 - Differential Backup - Erfolg 1/19 - Differential Backup - Erfolgreich 1/20 - Vollständige Sicherung - Erfolg 1/21 - Differenzielle Sicherung - Fehler 1/21 - Differenzielle Sicherung - Fehler 1/22 - Vollständige Sicherung - Erfolg 1/22 - Differenzielle Sicherung - Fehler 1/22 - Neustart 1/23 - Differential Backup - Erfolgreich 1/23 - Neustart 1/24 - Differenzielle Sicherung - Erfolg 1/25 - Vollständige Sicherung - Erfolgreich 1/25 - Differenzielle Sicherung - Fehler
Die Neustarts waren aufgrund eines nicht verwandten Fehler wo @@SERVERNAME
war null
, so hielt off ich diese Frage veröffentlichen , bis ich herausgefunden , ob die Festsetzung @@SERVERNAME
das Problem behoben, aber es kam nicht und jetzt habe ich keine Ahnung , wo ich anfangen soll .
Was kann dazu führen, dass SQL Server eine vollständige Sicherung für eine Datenbank nicht erkennt, und wie kann ich das Problem beheben?
Ich bin mir auch nicht sicher, ob dies damit zusammenhängt, aber die differenziellen Sicherungen scheinen ziemlich groß zu sein, und ich frage mich, ob sie das Differential von der vollständigen Datenbanksicherung ausführen, die am Anfang (am 16. Januar) statt von den meisten erstellt wurde letzte vollständige Sicherung. Die vollständigen Backups umfassen ca. 260 GB, und die Unterschiede zwischen 1 / 23-1 / 24 betragen jeweils 30 GB.
Die Jobs wurden mit dem SQL Server-Wartungsplan-Assistenten eingerichtet, und ich verwende SQL Server 2005
Die Schaltfläche [View T-SQL] für den Wartungsplan gibt diesen Code zurück:
Vollständige Sicherung:
BACKUP DATABASE [MyDatabase]
TO DISK = N'E:\Database Backups\MyDatabase_backup_2013_01_25_140607_2543780.bak'
WITH NOFORMAT, NOINIT, SKIP, REWIND, NOUNLOAD, STATS = 10,
NAME = N'MyDatabase_backup_2013_01_25_140607_2523778'
Differential:
BACKUP DATABASE [MyDatabase]
TO DISK = N'E:\Database Backups\MyDatabase_backup_2013_01_25_140537_4073936.diff'
WITH DIFFERENTIAL, NOFORMAT, NOINIT, SKIP, REWIND, NOUNLOAD, STATS = 10,
NAME = N'MyDatabase_backup_2013_01_25_140537_4053934'
Dies hängt sehr eng mit einer anderen Frage zusammen, die ich habe. Im Chat wurde jedoch vorgeschlagen, eine neue Frage zu posten, anstatt die andere zu bearbeiten, da die Fragen unterschiedlich sind und die Antworten auf die andere Frage vorhanden sind.
Antworten:
Wenn hinter den Kulissen ein Snapshot erstellt wird, der SQL-Differential-Backups unterbricht und dazu führt, dass vor einem neuen Differential ein vollständiges Backup erstellt werden muss. Sie können entweder den Snapshot stoppen oder sicherstellen, dass Sie anschließend eine vollständige Sicherung erstellen, bevor Sie versuchen, ein Differential zu erstellen. Wenn Sie die Wartungslösung von Ola Hallengren verwenden, kann ein Diff automatisch in ein volles geändert werden, wenn es auf dieses Szenario stößt.
quelle