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