Blog di Zanirato Luca

Microsoft SQL Server Database!

Blog - Sites Links

Backup/Restore via SCRIPT SQL e Restore Batch SQLCMD

Restore

RESTORE DATABASE [NomeDatabase] FROM DISK = 'Path del file *.bak'

WITH FILE = 1, MOVE 'Nome del file *.ldf senza estensione' TO 'Path del file *.ldf', NOUNLOAD, REPLACE, STATS = 10

Backup

BACKUP DATABASE [NomeDatabase] TO DISK = 'Path del file *.bak'

WITH NOFORMAT, INIT, NAME = 'NomeDatabase-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

Restore Batch SQLCMD

Questa è la procedura da me utilizzata per eseguire un Restore del DB sfruttando il comando SQLCMD :

(P.S. è stato anche creato l'apposito utente che fa solo il Ripristino)
 

@Echo Off
Echo.
Echo RIPRISTINO DATABASE - (NomeDatabase) - NomeSocietà
Echo.
Echo INIZIO ELABORAZIONE IL : %DATE% ALLE %TIME%
Echo.
SQLCMD -S LFSEDESE9F\LFDBMIS -d master -Q 
"RESTORE DATABASE [NomeDatabase]
FROM DISK = 'Path del file *.bak' WITH FILE = 1,
NOUNLOAD, REPLACE, STATS = 10" Echo Creazione utente per Ripristino del DB SQLCMD -S LFSEDESE9F\LFDBMIS -d NomeDatabase -Q
"CREATE USER [NomeUtente] FOR LOGIN [NomeUtente]" Echo Impostazione db_owner sull'utente per il DB SQLCMD -S LFSEDESE9F\LFDBMIS -d NomeDatabase -Q
"EXEC sp_addrolemember N'db_owner', N'NomeUtente'" Echo Collegamento utente db/login di istanza SQLCMD -S LFSEDESE9F\LFDBMIS -d NomeDatabase -Q
"sp_change_users_login 'Update_One', 'NomeUtente', 'NomeUtente'" Echo. DEL Path del file *.bak Echo. Echo RIPRISTINO AVVENUTO CON SUCCESSO! Echo.

Ciao a tutti Wink