我们目前有一个集群 SQL Server 2005,它为我们的 DR 解决方案复制了 SAN 磁盘,为了测试 DR,我们中断了 SAN 同步,然后将各种 DB 连接到 DR 服务器上。
我们的网络服务器最近进行了应用程序升级,其中 Dot Net 版本从 v1.1 升级到 V4,但 SQL 服务器并未升级到 Dot Net 4。
在 DR 测试中,我们像往常一样中断了 SAN 同步,然后继续连接数据库,但其中一个数据库连接失败,出现以下错误:
An error occurred while recovering database 'xxxxxxxxxx'. Unable to connect to Microsoft Distributed Transaction Coordinator (MS DTC) to check the completion status of transaction (1:288343130). Fix MS DTC, and run recovery again.
Could not open new database 'xxxxxxxxx'. CREATE DATABASE is aborted. (Microsoft SQL Server, Error: 3437)
在SQL日志中发现如下内容:
SQL Server detected a DTC/KTM in-doubt transaction with UOW {7DF9C2C2-EEBA-4842-B520-7428029E1E8E}.Please resolve it following the guideline for Troubleshooting DTC Transactions.
在数据库恢复期间,它已完成至少 60% 的连接过程并前滚了 1600 多个事务,但发现了 1 个有疑问的事务。
这似乎是某些人以前遇到过的问题,但不在我们的 DR 类型解决方案中的同一台服务器上,这种情况下的解决方案不适用。
过去我们曾多次进行过此 DR 测试,但没有遇到此问题;自应用程序升级以来,我们尝试过三次,遇到两次错误。
任何有关此事的经验或帮助都将不胜感激。
答案1
由于您的其他数据库都正常运行,因此可以排除存储问题。我搜索了您引用的错误文本,发现这在微软的网站上,这表明它可能可以通过一个简单的命令来修复。