Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2008 в виде одного загружаемого файла. Поскольку исправления являются накопительными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправлений SQL Server 2008 R2 или SQL Server 2008.
Проблема
Рассмотрим следующий сценарий.
- Функция управления версиями строк включена для базы данных в SQL Server 2008 R2 или SQL Server 2008.
- База данных настраивается для использования уровня изоляции snapshot.
- Вы выполняете множество транзакций, которые одновременно обновляют базу данных.
В этом случае сообщения об ошибках, похожие на следующие, записываются в файл журнала ошибок SQL Server.
Сообщение об ошибке 1
Примечание
<SPID> даты><Тайм-аут при ожидании защелки буфера -- тип 2, bp 0000003DDEFCBC80, страница 3:58642854, 0xc0000b статистики, идентификатор базы данных: 6, идентификатор единицы размещения: 72057594048806912, 0x000000717CC2A748 задачи: 0, время ожидания 300, флаги 0x3a, владение задачей 0x00000062F0A6CE08. Не продолжая ждать.
Сообщение об ошибке 2
Примечание
<Дата><SPID> Время ожидания блокировки: класс 'APPEND_ONLY_STORAGE_FIRST_ALLOC', идентификатор 0000006196214E30, тип 4, 0x000000002CA45948 задачи: 0, время ожидания 300, флаги 0x1a, владение задачей 0x00000062F0533288. Продолжаем ждать.
Сообщение об ошибке 3
Примечание
<Дата> spid#,Неизвестно,Ошибка: 845<c/> Серьезность: 17<c/> Состояние: 1.
Причина
Эта проблема возникает из-за того, что форматирование страниц хранилища версий начинается после выделения. Однако страницы защелкиваются. Поэтому возникает высокая конкуренция за страницы.
Решение
Сведения о накопительном пакете обновления
SQL Server 2008 с пакетом обновления 3 (SP3)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 4 для SQL Server 2008 с пакетом обновления 3 (SP3). Дополнительные сведения об этом накопительном пакете обновления см. в следующей статье базы знаний Майкрософт:
2673383 Накопительный пакет обновления 4 для SQL Server 2008 пакета обновления 3 Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые вошли в предыдущий выпуск исправления SQL Server 2008 г. Корпорация Майкрософт рекомендует рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2629969 Сборки SQL Server 2008 г., выпущенные после выпуска SQL Server 2008 с пакетом обновления 3 (SP3) Исправления для Microsoft SQL Server 2008 предназначены для определенных пакетов обновления SQL Server. Установите исправление пакета обновления 3 для SQL Server 2008 с пакетом обновления 3 (SP3) для SQL Server 2008 с пакетом обновления 3. По умолчанию все исправления, предоставляемые в пакете обновления для SQL Server, входят в следующий пакет обновления для SQL Server.
SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 1 для SQL Server 2008 R2 с пакетом обновления 1. Дополнительные сведения о том, как получить этот накопительный пакет обновления, см. в следующей статье базы знаний Майкрософт:
2544793 Накопительный пакет обновления 1 для пакета обновления 1 SQL Server 2008 R2 Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 1
SQL Server 2008 R2
Исправление для этой проблемы впервые было выпущено в накопительном пакете обновления 8. Для получения дополнительной информации о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, откройте статью со следующим номером в базе знаний Майкрософт:
2534352 Накопительный пакет обновления 8 для SQL Server 2008 R2 Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Дополнительные сведения
Эта проблема может не возникнуть, если увеличить количество файлов данных для базы данных Tempdb с целью увеличения пропускной способности диска. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2154845 Рекомендации по снижению конкуренции за выделение в базе данных tempdb SQL Server
Ссылки
Дополнительные сведения об уровнях изоляции на основе управления версиями строк см. на следующем веб-сайте MSDN:
Общие сведения об уровнях изоляции на основе управления версиями строк
Дополнительные сведения о модели добавочного обслуживания для SQL Server см. в следующей статье базы знаний Майкрософт:
935897 Команда SQL Server предоставляет модель добавочного обслуживания для предоставления исправлений для обнаруженных проблем
Дополнительные сведения о схеме именования для обновлений SQL Server см. в следующей статье базы знаний Майкрософт:
822499 Новая схема именования пакетов обновления программного обеспечения Microsoft SQL Server Дополнительные сведения о терминологии обновления программного обеспечения см. в следующей статье базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программного обеспечения Майкрософт