Нам нужно сделать резервную копию 40 баз данных внутри экземпляра SQL Server. Мы создаем резервную копию каждой базы данных с помощью следующего скрипта:
BACKUP DATABASE [dbname1] TO DISK = N'J:\SQLBACKUPS\dbname1.bak' WITH NOFORMAT, INIT, NAME = N'dbname1-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where database_name=N'dbname1' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'dbname1' )
if @backupSetId is null begin raiserror(N'Verify failed. Backup information for database ''dbname1'' not found.', 16, 1) end
RESTORE VERIFYONLY FROM DISK = N'J:\SQLBACKUPS\dbname1.bak' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
GO
Мы хотели бы добавить в скрипт функциональность взятия каждой базы данных и замены ее в приведенном выше скрипте В основном это скрипт, который будет создавать и проверять каждую резервную копию базы данных с помощью движка.
Я ищу что-то вроде этого:
For each database in database-list
sp_backup(database) // this is the call to the script above.
End For
есть идеи?