go backarticles

Articles of SQLschool.gr Team

Θέλω να ξενοιάσω με το backup των βάσεων σε έναν Server

Antonios Chatzipavlis

Θέλετε να ξεν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 τα προηγούμενα

Relative Articles

Leave your comment

Login with your SQLschool.gr account if you want to comment on this article.