Applies ToSQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Workgroup SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Workgroup

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 и Microsoft SQL Server 2008 R2 как один файл для загрузки. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в исправленный выпуск SQL Server 2008 или SQL Server 2008 R2.

Проблемы

Рассмотрим следующий сценарий.

  • Вы запускаете приложение Microsoft SQL Server, для которого настроена транзакция координатора распределенных транзакций (DTC) или несколько активных результирующих наборов (MARS). Например, вы запускаете службы интеграции Microsoft SQL Server, которые начинают транзакцию DTC или MARS.

  • Операция массовой загрузки начинается как часть транзакции DTC или MARS в целевую таблицу. Параметр FIRE_TRIGGERS не указан в инструкции массовой вставки в операции массовой загрузки .Примечание. Операция массовой загрузки запускает инструкцию массовой вставки .

  • Вы запускаете другую операцию массовой загрузки или стандартную операцию языка манипулирования данными (DML) для другой целевой таблицы, пока выполняется первая операция массовой загрузки . Эти параллельные операции находятся в одной транзакции DTC или MARS. .

В этом случае может появиться следующее сообщение об ошибке:

Ошибка: 595, важность: 16, состояние: 1Bulk INSERT с другим ожидающим набором результатов следует запускать с XACT_ABORT ON.

Причина

Эта проблема возникает из-за того, что SQL Server неправильно определяет взаимоблокировку режима MARS. SQL Server позволяет избежать взаимоблокировок, которые могут возникнуть при запуске транзакции MARS или DTC. Однако SQL Server не проверяет, указан ли параметр FIRE_TRIGGERS в инструкции массовой вставки . Примечание

  • Дополнительные сведения о том, как избежать взаимоблокировки в SQL Server с помощью режима MARS, можно найти в разделе "чередующиеся выполнение" в статье "множественные активные результирующие наборы (MARS) в SQL Server 2005" статьи на веб-сайте Microsoft Developer Network (MSDN). Дополнительные сведения об этом разделе "множественные активные результаты (MARS) в SQL Server 2005" можно найти на веб-сайте Microsoft Developer Network (MSDN) по следующему адресу:

    Статья "несколько активных результирующих наборов (MARS) в SQL Server 2005"

Решение

Сведения о накопительном пакете обновления

SQL Server 2008

Исправление для этой проблемы впервые выпущено в накопительном обновлении 11 для SQL Server 2008 с пакетом обновления 1 (SP1). Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи базы знаний Майкрософт:

2413738 Накопительный пакет обновления 11 для SQL Server 2008 с пакетом обновления 1 (SP1)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

970365 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 1 (SP1) для SQL Server 2008 Исправления Microsoft SQL Server 2008 создаются для конкретных пакетов обновления для SQL Server. Вы должны применить исправление для SQL Server 2008 с пакетом обновления 1 (SP1) к установке SQL Server 2008 с пакетом обновления 1. По умолчанию любое исправление, предоставленное в пакете обновления SQL Server, входит в следующий пакет обновления для SQL Server.

SQL Server 2008 R2

Исправление для этой проблемы впервые выпущено в накопительном обновлении 5. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, щелкните следующий номер статьи базы знаний Майкрософт:

2438347 Накопительный пакет обновления 5 для SQL Server 2008 R2 Примечание. Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2

SQL Server 2008 с пакетом обновления 2

Исправление для этой проблемы впервые выпущено в накопительном обновлении 2 для SQL Server 2008 с пакетом обновления 2. Чтобы получить дополнительные сведения об этом накопительном пакете обновления, щелкните следующий номер статьи базы знаний Майкрософт:

2467239 Накопительный пакет обновления 2 для SQL Server 2008 с пакетом обновления 2 (SP2)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008. Корпорация Microsoft рекомендует установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2402659 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 2 (SP2) для SQL Server 2008 Исправления Microsoft SQL Server 2008 создаются для конкретных пакетов обновления для SQL Server. Необходимо применить исправление для SQL Server 2008 с пакетом обновления 2 (SP2) к установке SQL Server 2008 с пакетом обновления 2. По умолчанию любое исправление, предоставленное в пакете обновления SQL Server, входит в следующий пакет обновления для SQL Server.

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Ссылки

Дополнительные сведения о инструкции массовой вставки можно найти на веб-сайте MSDN по следующему адресу:

Общие сведения об инструкции МАССовой вставкиДополнительные сведения о назначении OLE DB можно найти на веб-сайте MSDN по следующему адресу:

Общие сведения о назначении OLE DBЧтобы получить дополнительные сведения о модели добавочного обслуживания для SQL Server, щелкните следующий номер статьи базы знаний Майкрософт:

935897 Модель обслуживания изменений, используемая рабочей группой SQL Server, предоставляет модель ISM для распространения исправлений обнаруженных проблемЧтобы получить дополнительные сведения о схеме присвоения имен обновлениям SQL Server, щелкните следующий номер статьи базы знаний Майкрософт:

822499Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL ServerЧтобы получить дополнительные сведения о терминологии обновления программного обеспечения, щелкните следующий номер статьи базы знаний Майкрософт:

824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.