Ενα πολύ χρήσιμο sql script για να κάνετε backup όλες τις βάσεις δεδομένων που έχετε σε ένα SQL Server.
USE master;
DECLARE @DatabaseName NVARCHAR(128)
DECLARE @BackupDirectory NVARCHAR(256)
DECLARE @BackupName NVARCHAR(256)
DECLARE @BackupCommand NVARCHAR(4000)
DECLARE @CurrentDateTime NVARCHAR(20)
-- Set the backup directory where the backup files will be stored
-- Αλλάξτε το στο επιθυμητό directory
SET @BackupDirectory = `C:\Backup\`
-- H τρέχουσα ώρα σε μορφή yyyyMMddHHmmss
SET @CurrentDateTime = REPLACE(CONVERT(NVARCHAR(20), GETDATE(), 120), ':', '')
-- Χρήση cursor για το Loop
DECLARE db_cursor CURSOR FOR
SELECT name
FROM sys.databases
WHERE database_id > 4 -- Εξαίρεση των system databases (master, model, msdb, tempdb)
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @DatabaseName
WHILE @@FETCH_STATUS = 0
BEGIN
-- Generate the backup file name - Δημιουργία ονόματος αρχείου
SET @BackupName = @BackupDirectory + @DatabaseName + '_' + @CurrentDateTime + '.bak'
-- Build the backup command
SET @BackupCommand = 'BACKUP DATABASE ' + QUOTENAME(@DatabaseName) + ' TO DISK = ''' + @BackupName + ''' WITH INIT'
-- Execute the backup command
EXEC sp_executesql @BackupCommand
FETCH NEXT FROM db_cursor INTO @DatabaseName
END
CLOSE db_cursor
DEALLOCATE db_cursor