MSSQL – Backup da Base de dados por script de SQL

Pode efectuar o backup das bases de dados por script, no nosso caso temos centenas de BD’s no servidor de MSSQL, mas queriamos fazer backup de várias base de dados com caracteristicas de nome semelhante. Poderiamos usar o wizard para criar o backup, mas teriamos que estar a escolher bastantes BD’s no meio de umas centenas… Assim neste caso usamos um script para fazer backup das base de dados que queriamos.

O script é o seguinte…

DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name

SET @path = 'D:\MSSQLBCK'

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name LIKE 'PRI%'

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '\' + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName

FETCH NEXT FROM db_cursor INTO @name
END

CLOSE db_cursor
DEALLOCATE db_cursor