Najłatwiejszy sposób to właściwie skrypt.
Uruchom to w wersji produkcyjnej:
USE MASTER;
BACKUP DATABASE [MyDatabase]
TO DISK = 'C:\temp\MyDatabase1.bak' -- some writeable folder.
WITH COPY_ONLY
To jedno polecenie tworzy pełną kopię zapasową bazy danych w jednym pliku, bez zakłócania dostępności produkcyjnej lub harmonogramu tworzenia kopii zapasowych itp.
Aby przywrócić, po prostu uruchom to na swoim deweloperze lub przetestuj SQL Server:
USE MASTER;
RESTORE DATABASE [MyDatabase]
FROM DISK = 'C:\temp\MyDatabase1.bak'
WITH
MOVE 'MyDatabase' TO 'C:\Sql\MyDatabase.mdf', -- or wherever these live on target
MOVE 'MyDatabase_log' TO 'C:\Sql\MyDatabase_log.ldf',
REPLACE, RECOVERY
Następnie zapisz te skrypty na każdym serwerze. Wygoda jednym kliknięciem.
Edytuj:
jeśli podczas przywracania pojawi się błąd, że nazwy logiczne nie pasują, możesz je uzyskać w ten sposób:
RESTORE FILELISTONLY
FROM disk = 'C:\temp\MyDatabaseName1.bak'
Jeśli używasz loginów SQL Server (nie uwierzytelniania systemu Windows), możesz uruchomić to po przywróceniu za każdym razem (na maszynie deweloperskiej/testowej):
use MyDatabaseName;
sp_change_users_login 'Auto_Fix', 'userloginname', null, 'userpassword';