В настоящее время у нас есть кластерный SQL Server 2005, который реплицировал диски SAN для нашего решения аварийного восстановления, чтобы протестировать аварийное восстановление, мы прерываем синхронизацию SAN, а затем присоединяем различные БД к серверу аварийного восстановления.
На наших веб-серверах недавно было обновлено приложение, при котором версия 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, не сталкиваясь с этой проблемой, мы пробовали это 3 раза после обновления приложения и дважды сталкивались с ошибкой.
Мы будем благодарны за любой опыт или помощь в этом вопросе.
Поскольку другие ваши базы данных работали как обычно, вы можете исключить проблему с хранилищем. Я искал цитируемый вами текст ошибки и нашел этот на сайте Microsoft, что предполагает, что это можно исправить с помощью простой команды.