![在主数据库或镜像数据库上重新启动 MSSQLSERVER 服务,数据库设置为“恢复中”模式](https://linux22.com/image/594137/%E5%9C%A8%E4%B8%BB%E6%95%B0%E6%8D%AE%E5%BA%93%E6%88%96%E9%95%9C%E5%83%8F%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%8A%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%20MSSQLSERVER%20%E6%9C%8D%E5%8A%A1%EF%BC%8C%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%BE%E7%BD%AE%E4%B8%BA%E2%80%9C%E6%81%A2%E5%A4%8D%E4%B8%AD%E2%80%9D%E6%A8%A1%E5%BC%8F.png)
我正在运行 MSSQL Server 11.0.2100(SQL Server 2012),每次我在主服务器或镜像服务器上重新启动时,数据库镜像就会中断,并且数据库会在重新启动的 SQL 实例上MSSQLSERVER service
设置为模式。In Recovery
我可以毫无问题地设置镜像数据库,并且可以在主数据库和镜像数据库之间毫无问题地进行故障转移,但任何时候重新启动,一切MSSQLSERVER service
都会中断。
数据库设置为In Recovery
模式后,无法将其取消。唯一的选择是删除(drop
)数据库。
运行Alter Database TestDB SET PARTNER OFF
会产生以下错误:
消息 945,级别 14,状态 2,第 1 行
由于文件不可访问或内存或磁盘空间不足,无法打开数据库“TestDB”。有关详细信息,请参阅 SQL Server 错误日志。
运行Restore Database TestDB WITH RECOVERY
会产生以下错误:
消息 3104,级别 16,状态 1,第 1 行
RESTORE 无法对数据库“TestDB”进行操作,因为它已配置为数据库镜像或已加入可用性组。如果您打算还原数据库,请使用 ALTER DATABASE 删除镜像或从其可用性组中删除数据库。消息 3013,级别 16,状态 1,第 1 行 RESTORE DATABASE 异常终止。*
11.0.2100 上的数据库镜像是否损坏了,或者我是否存在某种权限问题?
答案1
在主服务器和镜像服务器上安装 10.50.4000 (SQL Server 2008 R2 + Service Pack 2) 并按照 11.0.2100 进行完全配置后,我现在可以确认 11.0.2100 中的数据库镜像存在一些严重问题。数据库镜像在 11.0.2100 中不起作用。
运行 10.50.4000 一切正常,我可以毫无问题地重新启动 MSSQLSERVER 服务。
经验教训:切勿使用未发布服务包的 SQL Server 版本。