Automatisk COPY_ONLY backup, hvordan smartest?
(SQL2005) Jeg har en række jobs der sørger for translog backup og fuld backup af en database til Tape. Det er lavet ved hjælp af maintenance plans. Så langt så godt.Samtidigt ønsker jeg nu af forskellige årsager et job, der tager en simpel COPY_ONLY backup til disk hver nat, og altid have de sidste to backups tilgængelige. Da man ikke kan gøre vha. af de fastdefinerede tasks, skal det udfører vha. noget hardcoded T-SQL, og her kommer problemerne.
Umiddelbart vil det nemmeste være, at lave en .BAK fil til hver enkelt backup, og så lade en Task løbende slette 2 dage gamle backups. Men hvordan giver jeg hver enkelt backup-fil et unikt navn, når jeg skal hardcode hele T-SQL statementet?
Alternativt kan jeg lade de to backups ligge i den samme backup-fil, og blot udnytte RETAINDAYS=2. Men hvordan får jeg den til at slette de gamle backups løbende i filen? Jeg har kikket på de forskellige kombinationer af (NO)INIT og (NO)SKIP og (NO)FORMAT, men syntes ikke der er noget der opfylder mit simple behov.
Er der ikke en venlig sjæl, der vil oplyse mig om hvad det er jeg overser?