需要备份和还原数据库

时间:2015-12-11 19:08:53

标签: sql-server database backup overwrite

我需要在执行时创建一个脚本。它将备份一个生产数据库(请记住这是一个实时数据库)并将其恢复为开发数据库(如果存在覆盖)

我已尝试此查询但收到错误消息。我需要找到一种方法来实现这一点,而无需使数据库脱机或单用户模式

USE [master]
    RESTORE DATABASE [Development] FROM  DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\Production.bak' 
       WITH  FILE = 6,  MOVE N'Producation' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\Development.mdf', 
       MOVE N'Production_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\Development_log.ldf',  NOUNLOAD,  REPLACE,  STATS = 5
  

Msg 3101,Level 16,State 1,Line 67   由于数据库正在使用,因此无法获得独占访问权限。   Msg 3013,Level 16,State 1,Line 67   RESTORE DATABASE异常终止。

1 个答案:

答案 0 :(得分:0)

我意识到我不需要保持在线开发并且可以终止连接。

所以我使用ALTER DATABASE [ALI] SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO来解决此错误