Θέλετε να ξενoιάσετε μια και καλή με το backup των βάσεων σας σε έναν SQL Server στον οποίο έχετε δώσει δικαιώματα σε developers ή χρήστες να φτιάχνουν databases με αποτέλεσμα να υπάρχουν βάσεις που δεν τις παίρνετε άμεσα χαμπάρι και όταν γίνει η ζημιά να έχετε την γκρίνια τους ότι έχασαν την βάση τους;
Σε αυτή την περίπτωση το παρακάτω script που έφτιαξα και σας δίνω είναι η λύση.
Φτιάξτε ένα job στον SQL Server και δώστε σε ένα step το script
declare @weekday char(3)
select @weekday=UPPER(left(datename(dw,getdate()),3))
declare @command varchar(2048)
declare @excludedDBs varchar(2048)
declare @backupPath varchar(2048)
set @excludedDBs=' ''tempdb'' , ''AdventureWorks'' '
set @backupPath='C:\TEMP\'
set @command = 'if not ''?'' in ('+@excludedDBs+') backup database ? to disk ='''+@backupPath+'?_'+@weekday+'.bak' + ''' with init'
exec sp_MSforeachdb @command, '?'
Μπορείτε να δώσετε το path στο οποίο θέλετε να “βγαίνουν” τα backup (set @backupPath='C:\temp\').
Επίσης με το
set @excludedDBs=' ''tempdb'' , ''AdventureWorks'' ' μπορείτε να πείτε ποιές δεν θέλετε να γίνονται backup.
Τέλος θέλω να επισημάνω ότι αυτό παίρνει μόνο Full backup καθε βάση σε ξεχωριστό device ανα ημέρα μέσα στην εβδομάδα. Την επόμενη εβδομάδα γίνονται overwrite τα προηγούμενα