quinta-feira, 27 de maio de 2010

Script Backup/Restore

--kill all process from database
DECLARE @wspid varchar(150)
DECLARE lspid CURSOR FOR select convert(varchar,spid) from master.dbo.sysprocesses where dbid = DB_ID('ADVENTUREWORKS')
OPEN lspid
FETCH NEXT FROM lspid INTO @wspid
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC ('kill '+@wspid)
FETCH NEXT FROM lspid INTO @wspid
END
CLOSE lspid
DEALLOCATE lspid
--drop database developer
DROP DATABASE ADVENTUREWORKS
--backup from database producion
exec xp_cmdshell 'sqlcmd -S {SERVERPRODUCION} -E -d ADVENTUREWORKS -Q"BACKUP DATABASE ADVENTUREWORKS TO DISK = ''C:\MSSSQL\BACKUP\ADVENTUREWORKS.BAK'' WITH INIT, NAME = ''Backup Full do Database ADVENTUREWORKS'';"', no_output
--restore from database producion on development database
RESTORE DATABASE ADVENTUREWORKS FROM DISK = 'C:\MSSSQL\BACKUP\ADVENTUREWORKS.BAK' WITH MOVE 'ADVENTUREWORKS_DATA' TO 'C:\MSSQL\DATA\ADVENTUREWORKS_2CICLO_2010_Data.mdf', MOVE 'ADVENTUREWORKS_LOG' TO 'C:\MSSQL\LOG\ADVENTUREWORKS_2CICLO_2010_Log.ldf'
--script execution for create roles ans user
exec xp_cmdshell 'DEL C:\RESULTADO.SQL',no_output
exec xp_cmdshell 'sqlcmd -S {SERVERPRODUCION} -E -d ADVENTUREWORKS -i"c:\gerascript.sql" -o"c:\resultado.sql"',no_output
exec xp_cmdshell 'sqlcmd -E -S {SERVERDEVELOPMENT} -i"c:\resultado.sql"',no_output

Nenhum comentário:

Postar um comentário