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 