USE MASTER;
BACKUP DATABASE [MyDatabase]
TO DISK = 'C:\temp\MyDatabase1.bak' -- some writeable folder.
WITH COPY_ONLY
这个命令将数据库的完整备份到单个文件中,而不会影响生产可用性或备份计划等。
要还原,只需在开发人员或测试 SQLServer 上运行此命令:
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
然后在每个服务器上保存这些脚本。
编辑:
如果在还原逻辑名称时出现错误,您可以这样得到它们:
RESTORE FILELISTONLY
FROM disk = 'C:\temp\MyDatabaseName1.bak'
如果您使用的是 SQL Server 登录名(而不是 Windows 身份验证) ,那么您可以在每次恢复(在 dev/test 机器上)之后运行:
use MyDatabaseName;
sp_change_users_login 'Auto_Fix', 'userloginname', null, 'userpassword';