Симптомы
Предполагается включить группы доступности AlwaysOn в экземпляре Microsoft SQL Server 2014 г. Во время основной реплики имеет активных транзакций выполнять перемещения при сбое группы доступности. После этого появляется сообщение об ошибке 3303:
Укрепить удаленного проводки "%. * ls (идентификатор 0 x % 016I64x %ls) начато в % S_DATE в базе данных '%ls' номер LSN % S_LSN сбой.
В этом случае следующие данные драйверы или поставщиков невозможно перехватить исключение, «удаленный укрепление сбой»:
-
Драйвер Microsoft JDBC SQL Server 4.0
-
Драйвер OLE DB для SQL Server
-
SQL Server собственного клиента для OLE DB
Таким образом клиентское приложение, которое использует эти драйверы или поставщиков не знает, что транзакция сомнительна».» Операция «под сомнением» означает, что он может зафиксирована и защищаются на диск успешно, или прервана и выполняет откат SQL Server. Если выполняется откат этой транзакции «под сомнением», эти драйверы и поставщики могут по-прежнему рассматривать транзакции как успешно, так как они не удается зафиксировать исключение. Это может привести к проблеме несогласованности данных приложений.
Примечание. Следующие поставщики подключения можно зафиксировать «удаленных укрепление сбой» исключение для операций «под сомнением»:
-
Драйвер Microsoft ODBC для SQL Server
-
Собственный клиент SQL Server (ODBC)
Решение
Сначала эта проблема была исправлена в следующем накопительном обновлении SQL Server.
Накопительное обновление для SQL Server 2014 5/en-us/help/3011055
Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и все исправления безопасности, входившие в состав предыдущего накопительного обновления. Извлечь последние накопительные обновления для SQL Server:
Сведения об исправленииЭто исправление введение нового флага трассировки 3923. Флаг трассировки позволит создать исключение для приложения при возникновении предупреждения 3303 SQL Server.
После установки исправления необходимо включить этот флаг трассировки для решения этой проблемы. Исправления и флага трассировки приложение также необходимо реализовать коды проверки для проверки отката или фиксации после записи исключения транзакции.
Существует исправление от корпорации Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте данное исправление только в тех системах, которые имеют данную проблему.
Если исправление доступно для скачивания, имеется раздел "Пакет исправлений доступен для скачивания" в верхней части этой статьи базы знаний. Если этого раздела нет, отправьте запрос в службу технической поддержки для получения исправления.
Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание посетите следующий веб-узел корпорации Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримечание. В форме "Пакет исправлений доступен для скачивания" отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.
Необходимость перезагрузкиНе требуется перезагружать компьютер после установки данного исправления.
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".