Ich habe darüber gelesen, aber die Online-Dokumentation ist etwas schwer zu verstehen und scheint umständlich geschrieben zu sein. Zum Beispiel die INIT
, NOINIT
. Man sagt, es wird versuchen, alles zu überschreiben. Der andere sagt, es wird trotzdem angehängt.
Ich möchte etwas dazwischen. Ich möchte, dass abgelaufene Mediensätze nicht mehr in der Datei enthalten sind, sondern dass neue Sicherungsjobs neben noch nicht abgelaufenen Sätzen an die Datei angehängt werden.
Führt die unten stehende SQL die gewünschte Sicherung durch?
BACKUP DATABASE [mydb]
TO DISK = N'c:\Backups\mydb.bak'
WITH NOFORMAT, NOINIT, NAME = N'mydb-Full Database Backup', NOSKIP,
NOREWIND, NOUNLOAD, STATS = 10, RETAINDAYS = 60
GO
Wenn ich die oben genannten Schritte ausführe und ein Sicherungssatz vorhanden ist, der älter als 60 Tage ist, wird er dann aus der Datei entfernt?
Bearbeiten:
Als Antwort auf den Vorschlag von RichardTheKiwi habe ich den Code neu geschrieben, um jedes Mal eine neue Datei zu erstellen. Ich werde dann ein Windows-Skript schreiben, um Dateien zu löschen, die älter als ein bestimmtes Datum sind
declare @filename varchar(max)
set @filename = 'c:\sqlbackups\pptd_' + replace(replace(convert(varchar, getdate(), 120),':','_'),' ','_') + '.bak'
BACKUP DATABASE [Peter's pointless test database]
TO DISK = @filename
WITH FORMAT, INIT, NAME = N'pptd-Full Database Backup',
NOREWIND, NOUNLOAD, STATS = 10
GO
quelle
Antworten:
Leider nein, das wird nicht funktionieren. Es wird weiterhin angehängt, die abgelaufenen Sätze bleiben jedoch im selben Archiv. Dieser Screenshot zeigt ein Backup-Archiv mit Ihrem Skript, das auf eingestellt
RETAINDAYS = 2
ist und einmal im November (VM-Trick) und heute noch einmal ausgeführt wird.Ich denke, was Sie suchen, ist ein fortlaufendes Backup. Wenn dies also wöchentlich ist, sollten nach einer Einbrennphase 7 alte Backup-Sets beibehalten, eines entfernt und ein neues angehängt werden.
Persönlich würde ich einen einzelnen Sicherungssatz pro Datei behalten und die Bereinigungsfunktion im Wartungsassistenten verwenden, um alte Dateien zu entfernen. das oder eine reguläre Windows-geplante Aufgabe. Es sollte nicht wirklich notwendig sein, Sicherungssätze in einer einzigen Datei zu speichern.
quelle