首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当成功地为数据库镜像配置Server时,出现了一个错误,说明它不是为数据库镜像配置的

当成功地为数据库镜像配置Server时,出现了一个错误,说明它不是为数据库镜像配置的
EN

Server Fault用户
提问于 2010-06-21 07:40:46
回答 2查看 21.3K关注 0票数 4

我需要用生产数据库的新副本替换测试环境中的旧数据库。

实际上,测试环境是由两个不同服务器上的测试数据库的两个实例组成的,它们位于镜像配置中(因为生产有镜像,客户端希望测试环境与生产环境一样)。

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

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

但很明显这还不足以跳过去。经过一天的努力(权限问题,隐秘的错误,如果您重新启动SSMS (认真的)问题,我会给您完整的列表.)最后,我将新DB恢复到测试DB的原则和镜像实例上。

但是,Server放弃了镜像配置设置,因此我正确地单击了该原则,选择了镜像,并直接浏览了安全向导。当我在安全向导的末尾单击"Finish“时,它做到了这一点,并得到了报告一切都已成功设置的屏幕(”配置端点“--”成功“)。然后是另一个窗口,询问是否要开始镜像,但是,单击该窗口上的start,会得到以下Server错误:

启动镜像时发生错误.

数据库"3DSS_TEST“未配置为数据库镜像。(Microsoft,错误: 1416)

所以我得到了“镜像配置成功!”然后,作为同一进程的一部分,“镜像无法启动,因为您没有配置它!”:(

有什么想法吗?有人以前见过这种情况,或者知道如何找出更有用的错误信息或其他信息?

更新:已解决

如下所示,我用错误的恢复选项还原了镜像数据库,正确的方法是:

代码语言:javascript
复制
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' */

谢谢!

EN

回答 2

Server Fault用户

回答已采纳

发布于 2010-06-22 11:24:41

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

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

代码语言:javascript
复制
select database_id, user_access_desc, state_desc, recovery_model_desc, is_broker_enabled, log_reuse_wait_desc from sys.databases where name = 'database'

如果镜像数据库处于联机状态,则在设置镜像合作伙伴之前,需要重新还原数据库和随后的使用NORECOVERY选项的T-日志备份。

票数 4
EN

Server Fault用户

发布于 2013-08-28 11:59:15

这对我来说很管用:

代码语言:javascript
复制
RESTORE DATABASE [MyDb]
FROM disk = 'C:\TEmp\MyDb'
WITH
REPLACE,
NOrecovery /* */
票数 -1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/153124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档