Avatar billede pdj Novice
28. juni 2012 - 14:54 Der er 1 løsning

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?
Avatar billede pdj Novice
03. juli 2012 - 11:44 #1
Har fundet ud af, at man ikke kan slette de enkelte backups inde i en backup-fil.
Fandt et eksempel med opbygning af filnavn vha. GETDATE(), så nu er problemet løst.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester