成功configurationSQL Server进行数据库镜像时,出现错误,说明未configuration数据库镜像

我需要用新的生产数据库副本replacetesting环境中的旧数据库。

testing环境实际上由两个不同服务器上的testing数据库实例组成,它们是镜像configuration(由于镜像是镜像,客户端希望testing环境就像生产一样)。

我认为这将是一个简单的问题:

  • 获取生产数据库的备份(.bak文件)
  • 暂时禁用testingDB的镜像
  • 从(prod)备份覆盖(即:恢复)它们
  • 重新激活镜像

但显然这还远远不够。 经过一天的摔跤(权限问题,神秘的错误,如果你重新启动SSMS(严重),我会留给你全部清单…)我终于得到了新的数据库恢复原理和testing数据库的镜像实例。

但是,在SQL Server的某处放弃了镜像configuration设置,所以我右键单击原理,select镜像,然后通过安全向导。 当我在安全向导的最后点击“完成”时,它做了这件事情,我得到了报告成功设置所有内容的屏幕(“configuration端点” – “成功”)。 紧接着是另一个窗口询问是否希望开始镜像,但是,单击该窗口上的开始,我得到以下SQL Server错误:

开始镜像时发生错误。

数据库“3DSS_TEST”未configuration为数据库镜像 (Microsoft SQL Server,错误:1416)

所以我得到“镜像configuration成功!” 然后,作为同一过程的一部分,“镜像无法启动,因为您没有configuration!” 🙁

有任何想法吗? 任何人之前看过这个,或知道如何挑出更有用的错误信息或其他信息?

更新:解决
正如Brian在下面所说,我已经用错误的恢复选项恢复了镜像数据库,正确的方法是:

RESTORE DATABASE [MyDb] FROM disk = 'C:\TEmp\MyDb_LIVE_Prod_backup_2010-06-18_for_test_server.bak' WITH REPLACE, NOrecovery /* This should be 'norecovery', my problem was I used 'recovery' */ 

谢谢!

    镜像数据库恢复后,经常会发生错误1416。 确保镜像数据库处于还原状态(NORECOVERY选项)

    在镜像服务器上运行以下查询并validation数据库的状态。

     select database_id, user_access_desc, state_desc, recovery_model_desc, is_broker_enabled, log_reuse_wait_desc from sys.databases where name = 'database' 

    如果镜像数据库处于ONLINE状态,则需要在设置镜像伙伴之前使用NORECOVERY选项再次恢复数据库和后续的T-Log备份。

    这对我很好:

     RESTORE DATABASE [MyDb] FROM disk = 'C:\TEmp\MyDb' WITH REPLACE, NOrecovery /* */