SQL Server были добавлены новые параллелизма и планирование Диагностика

Переводы статьи Переводы статьи
Код статьи: 319892 - Vizualiza?i produsele pentru care se aplic? acest articol.
НОМЕР ОШИБКИ: 102179 (SQLBUG_70)
НОМЕР ОШИБКИ: 356317 (SQLBUG_80)
Развернуть все | Свернуть все

В этой статье

Аннотация

Остается высокой динамичностью, SQL Server содержит несколько Внутренние процессы для обеспечения стабильности. Например, блокировка монитора можно использовать для выявления и устранения подобных ситуаций.

SQL Server 7.0 Добавлена служба с пакетом обновления 4 (SP4) и SQL Server 2000 с пакетом обновления 3 (SP3) Улучшенные функции наблюдения за работоспособностью. Предпринятое усовершенствования мониторинга работоспособности Поместите в следующих областях:
  • Блокировка
  • Неполадки в сети
  • Ввода/вывода (IO)
  • Память
  • ЦП
Когда SQL Server выявляет проблемы работоспособности, ряд новых сообщения об ошибках, таких как выполняются следующие, записаны в журнал ошибок SQL Server. Подробные сведения об этих условий сообщение об ошибке содержатся в разделе «Дополнительная информация» в разделе данной статьи.

SQL Server 7.0

Ошибка 1223: Не удается получить идентификатор процесса % d: % d заблокировать «% s» от ресурса "% s", поскольку существует потенциальную взаимоблокировку планировщиком %d для ресурса. Идентификатор процесса % d: % d удерживает блокировку ресурса «% h».

SQL Server 2000

Ошибка 1229: Идентификатор процесса % d: % d, владеет ресурсами блокирующие процессы на планировщике % d.
Новые сообщения об ошибках Включите следующие серии.

Расширенная блокировка обнаружения: 1223, 1229
Обнаружения зависших планировщика заданий: 17881, 17883
Все планировщики зависших Определение: 17882, 17884
Предупреждение Обратите внимание, что связанные проблемы работоспособности часто результат условие, обнаруженной ранее. Необходимо изучить ошибки SQL Server журнал и журналы системных событий, чтобы определить реальные причины.

Например сообщение об ошибке 17883 может означать неполадки планировщика заданий. Тем не менее, в журнал ошибок может показать предыдущего исключения, неправильно слева Процесс SQL Server в Плохое состояние или приложение может стать причиной серьезные условия блокировки.
Примечание Корпорация Майкрософт пытается сохранить все содержимое за последние 17883 условий. Тем не менее сообщение об ошибке 17883 является определение работоспособности сообщение, которое может вестись по многим причинам. Корпорация Майкрософт не только Устранены известные проблемы с программным обеспечением SQL Server, но также имеет Произошла ошибка 17883 в различных ситуациях, не связанных между собой для программное обеспечение SQL Server. Например ошибка с внешнего ЦП потребления и аппаратных сбоев приложений. Необходимо определить корень Если вы хотите избежать нежелательного повторяемости причиной сообщение об ошибке 17883 ошибки.

Дополнительная информация

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

UMS

Чтобы лучше понять некоторые дополнительные работоспособности Диагностика, необходимо сначала понять, как SQL Server использует пользовательский режим Планирование вспомогательный файл Ums.dll (UMS).

Оба сервера SQL Server 7.0 и Microsoft SQL Server 2000 с помощью логических планировщики. И эти планировщики обеспечить убедиться, что увеличивает использование ресурсов операционной системы по отношению к SQL Server пути действия ключа базы данных. Слой UMS гарантирует SQL Server правильно Планирование событий Win32 использует строго контролировать потоков и волокон (или оба) видимость для операционной системы. Строго контролируя потоки или волокна, которые можно запустить SQL Server можно развернуть ЦП по отношению к примитивы базы данных, такие как блокировка.

Например логическое планирование Разрешает блокировка удерживается в спящий режим (WaitForSingleObject события Win32) до Владелец блокировки освобождает блокировку и сигналы (SetEvent) их из спящего режима.

Определение расширенных блокировки

Монитор блокировок был расширен для обнаружения рабочих ( поток) ресурсов уровня блокировки сценария. Если SPID, являющийся владельцем блокировки в настоящее время очереди планировщика заданий, так как все назначенные рабочие потоки был создан и все назначенные рабочие потоки находятся в un-resolvable ожидания состояние, в журнал ошибок SQL Server записывается следующее сообщение об ошибке:

SQL Server 7.0

Ошибка 1223: Не удается идентификатор процесса % d: % d получить блокировку ресурса "% s" «% s», так как существует потенциальная взаимоблокировки на Планировщик %d для ресурса. Процесс ID % d: % d удерживает блокировку «% h» об этом ресурс.
Описание параметров:
  1. Ожидается идентификатор SPID
  2. Ожидание ECID (идентификатор процесса выполнения Sub)
  3. Имя режима блокировки
  4. Имя ресурса
  5. Логический идентификатор планировщика UMS
  6. Владеющий SPID
  7. Владеющий ECID
  8. Имя владельца ресурса

SQL Server 2000

Ошибка 1229: Идентификатор процесса % d: % d владеет ресурсы, которые блокируют процессов на планировщик % d.
Параметр Описание:
  1. Владеющий SPID
  2. Владеющий ECID (идентификатор процесса выполнения Sub)
  3. Владеющий логический идентификатор планировщика UMS

Флаги трассировки

SQL Server содержит флаг трассировки для отключения данного состояния отчетность.

Чтобы отключить формирования отчетов, воспользуйтесь одним из следующих способов:
  • Установить (параметр запуска-T###)
  • Используйте DBCC traceon (###)
SQL Server 7.0:-T1216

SQL Server 2000:-T1261

Примечание Это не опечатка. -Это T1216 на сервере SQL Server 2000 уже используется в качестве флага трассировки, связанных с выводом взаимоблокировки. Таким образом 1261 Вместо этого используется.

Образец сценария

1 Клиент подключается к SQL Server.

Запускает клиент 1 команды Transact-SQL, который запускает транзакцию и выполняет данных изменения.

Например:
begin tran
update authors set au_lname = 'test'
1 Клиент становится IDLE, как в спящем режиме и ожидают команды с открытая проводка в sysprocesses Системная таблица.

Клиенты 2 до 255: приблизительно 254 несколько клиентов входа на SQL Server и выдать SELECT из таблицы authors. Эти клиенты будут все будет блокирована на исходное обновление.

Клиент 1 пытается зафиксировать транзакцию, но он становится в очередь, поскольку рабочий потоки привязаны клиентами 2 до 255.

Блокировка

Это сообщение об ошибке обычно указывает на расширенные блокировки ситуации. Каждый раз монитор блокировок запускает (примерно каждые 5 секунд), сообщения могут быть добавлены в журнал ошибок SQL Server.

Примечание Для каждого SPID/ECID, где записывается сообщение Недостаток ресурсов. Таким образом несколько сообщений могут быть записаны в ходе же блокировка монитора итерации.

SQL Server не позволяет устранить автоматически Эта ситуация. Тем не менее он будет указывать проблемы как сообщение об ошибке (1223 или 1229) соответствующим образом. При возникновении этой проблемы можно разрешить его в число способами.

Время ожидания блокировки или запроса

Если запросы используют блокировку или ситуацию, время ожидания запроса Обычно разрешается автоматически при возникновении тайм-аутов. Однако ситуация гарантирует расследование, поскольку означает уменьшение приложения из за параллелизм.

Инструкцию KILL Transact-SQL

Если администратор имеет возможность запросить sysprocesses Системная таблица, они могут использовать команду KILL Transact-SQL, чтобы прервать SPID БЛОКИРУЕТ и идентификатора соответствующие ЗАБЛОКИРОВАННЫЕ SPID для завершения свободных рабочих потоков и вернуть систему в обычном состоянии.
251004 Отслеживание блокировки SQL Server 7.0
271509 Отслеживание блокировки SQL Server 2000
263889 Блокирует блокирование SQL из-за [[COMPILE]]

Поддержка помощь

Если вы не можете получить sysprocesses система табличные данные, а затем получить дамп процесса Поддержка процесса (Sqlservr.exe) и контактов Microsoft SQL Server для дополнительных расследование.

Параллельные запросы

В редких случаях это сообщение об ошибке может возникать, если план выделения плохой параллельных запросов. Если параллельных запросов выбирает использование значительное количество доступных исполнителей SQL Server для выполнения запроса, он может использовать рабочий пул SQL Server. В sysprocesses Системная таблица содержит столбец ECID для указания числа Сотрудники, которые используются для отдельных SPID. Если значение ECID является высокая по отношению к физических процессоров на компьютере, это вообще Указание плохо настраиваемых запросов. Обзор плана запроса и MAX степень параллелизма Значение параметра запроса (MAXDOP) для правильной настройки запроса вопрос.

Планировщики с состоянием вещества

Количество логических планировщики: вопросы и ответы. Когда SQL Server запускает, Максимальное число рабочих потоков параметр делится поровну между логическим планировщики. Как число процессоров, доступных для увеличения SQL Server, — это рабочие очереди разделить на несколько. Приложение, существуют нежелательные проводками действия можно манифеста ситуациях нехватка ресурсов быстрее, когда несколько процессоров задействовано. Для такого сценария — это область транзакции приложений немедленно исправлена.

В следующей таблице показаны пул рабочих количество ЦП на основе назначений, если процедуры sp_configure параметры хранимой процедуры MAX рабочие потоки равно 255.
Свернуть эту таблицуРазвернуть эту таблицу
Блокирование ЦПДлина цепи
1255
2128
464
832
1616
Рекомендуется оставить Максимальное число рабочих потоков параметр по умолчанию 255. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
319942Как определить правильные параметры конфигурации SQL Server

UMS работоспособности

Были добавлены новые внутренние процедуры проверки работоспособности Диспетчер логических каждые 60 секунд. Если планировщик считается как останавливается, или он перестал отвечать, соответствующее сообщение об ошибке регистрируется в Журнал ошибок SQL Server. Ошибка регистрируется каждые 60 секунд, пока проблема не будет Разрешить.

Как упоминалось ранее, эти сообщения, часто Индикация предыдущее событие. Внимательно просмотрите журнал ошибок SQL Server и журналы событий приложений, чтобы определить основную причину проблема.

Примечание Моментального снимка каждые 60 секунд. Таким образом он может быть 120 Сначала обнаруживается секунд.

SQL Server 7.0

Ошибка: 17881 - планировщик %1! ld! Вероятно, зависла. Служба технической поддержки 0 x % 2! p!, EC 0 x % 3! p!, UMS контекст 0 x % 4! p!
Ошибка: 17882 - потенциальных взаимоблокировок существует на всех планировщиков заданий

Флаги трассировки

Можно отключить эти две проверки, если при запуске SQL Server версии 7.0 -T1217 параметр запуска.

SQL Server 2000 SP3

8.00.760 (SP3)
Ошибка: 17883- Планировщик %1! ld! Вероятно, зависла. Идентификатор SPID %2! ld!, ECID % 3! ld!, UMS контекст 0 x % 4! p!

8.00.765

Начиная с 8.00.765 горячего исправления, сообщение было изменено, чтобы быть более понятными.
Ошибка: 17883 - процесса %1! ld!: % 2! ld! (%3! lx!) Контекст UMS 0 x % 4! p! Вероятно, не давая планировщиком %5! ld!

Пример:
server 2003-03-21 08:22:20.27 ошибка: 17883, уровень серьезности: 1 Состояние: 0
server 2003-03-21 08:22:20.27 51:0 процесса (dbc) контекст UMS 0x018DA930 вероятно, не давая планировщиком 0.
2003-03-21 0x00000000 — это сервер 08:22:22.45 подпись стека для дампа
Ошибка: 17884 - потенциальных взаимоблокировок существует на всех планировщиков заданий

Флаги трассировки

Можно отключить эти две проверки, если при запуске SQL Server с помощью параметра запуска - T1260.

SQL Server 2000 малый дамп файла

Начиная с SQL Server 2000 SP3, возможность захвата Малый дамп процесса был реализован. Начиная со сборки 8.00.765, является малый дамп файла создается, когда SQL Server сначала обнаруживает замедлении планировщика заданий.

Для предотвратить дальнейшее создание файлы малого дампа для этих сообщений об ошибке (17883 and17884), поведение по умолчанию — создать один файл минидампа для жизни процесса SQL Server. Включение файла малого дампа для каждого вхождения сообщения, включите трассировку флаг - T1262.

В журнале создается файл минидампа папка, и SQLDmpr ### .mdmp. Этот файл минидампа, может обрабатываться службой поддержки корпорации Майкрософт Чтобы определить основную причину проблемы.

17881 Ошибки и ошибки 17883

Эти сообщения указывают один планировщика UMS проблема доход. Наблюдение за работоспособностью обнаружила в Планировщик заданий с рабочим потоком, который не позволяет другим исполнителям, чтобы быть ход выполнения и планировщик был помечен как не отвечающий. Планировщик заданий которая отвечает обычно является ошибкой с сервера SQL Server или внешний компонент (XProc, COM-объект, и так далее).

Ниже приведены примеры известных 17833 условий. Убедитесь, что поиск Microsoft Базе знаний статей. Если система требует обновленное исправление, примените его соответствующим образом.
815056 ИСПРАВЛЕНИЕ: Контрольной точки может задерживать активности базы данных SQL Server и не дает об ошибке: 17883 происходят
810885 Высокопроизводительные дисковые подсистемы могут возникать ошибки 17883
Если не удается определить причину немедленно обратитесь к журналу ошибок для решения проблем и принять участие в расширенной поддержки усилия.

Когда планировщик не отвечает должным образом, можно уменьшить Общая параллелизма для SQL Server. SQL Server может также появиться, чтобы быть приостановлен ли или она может перестать отвечать на запросы.

Ошибка 17882 и 17884

Эти сообщения указывают, что у всех планировщиков UMS возникли неполадки доход. Это указывает на широкий неполадок системы SQL Server и SQL Server появится перестал отвечать на запросы. Как и в 17881 и 17883 сообщения, обратитесь к журналу ошибок и в базе знаний Майкрософт для получения дополнительных сведения. При необходимости принять участие в расширенной поддержки усилия.

Свойства

Код статьи: 319892 - Последний отзыв: 7 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Service Pack 3
Ключевые слова: 
kbsample kberrmsg kbbug kbfix kbinfo kbmt KB319892 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:319892

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com