Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Проблемы

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

Симптом 1

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

2014-12-13 08:03:34.85 spid24s Using 'dbghelp.dll' version '4.0.5'2014-12-13 08:03:34.85 spid24s **Dump thread - spid = 0, EC = 0x0000000082274B202014-12-13 08:03:34.85 spid24s ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\LOG\SQLDump0001.txt2014-12-13 08:03:34.85 spid24s * *******************************************************************************2014-12-13 08:03:34.85 spid24s *2014-12-13 08:03:34.85 spid24s * BEGIN STACK DUMP:2014-12-13 08:03:34.85 spid24s * 12/13/14 08:03:34 spid 242014-12-13 08:03:34.85 spid24s *2014-12-13 08:03:34.85 spid24s * Location: ghost.cpp:17422014-12-13 08:03:34.85 spid24s * Expression: tcln1 != NULL2014-12-13 08:03:34.85 spid24s * SPID: 242014-12-13 08:03:34.85 spid24s * Process ID: 354442014-12-13 08:03:34.85 spid24s *2014-12-13 08:03:35.47 spid24s Error: 17066, Severity: 16, State: 1.2014-12-13 08:03:35.47 spid24s SQL Server Assertion: File: <ghost.cpp>, line=1742 Failed Assertion = 'tcln1 != NULL'. Эта ошибка может быть связана со временем. Если ошибка не исчезнет после повторного выполнения инструкции, используйте DBCC CHECKDB, чтобы проверить базу данных на наличие структурной целостности, или перезапустите сервер, чтобы убедиться в том, что структуры данных в памяти не повреждены.

Симптом 2

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

2014-12-13 12:38:30.25 spid51 с помощью "dbghelp. dll" Version "4.0.5" 2014-12-13 12:38:30.25 spid51 * * * дамп стека отправляется в папку C:\Program Files\Microsoft SQL Server \ MSSQL10_50. SQL2008R2\MSSQL\LOG\SQLDump0003.txt2014-12-13 12:38:30.25 spid51 SqlDumpExceptionHandler: процесс 51 создал неустранимое исключение c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.2014-12-13 12:38:30.25 spid51 * *******************************************************************************2014-12-13 12:38:30.25 spid51 *2014-12-13 12:38:30.25 spid51 * BEGIN STACK DUMP:2014-12-13 12:38:30.25 spid51 * 12/13/14 12:38:30 spid 512014-12-13 12:38:30.25 spid51 *2014-12-13 12:38:30.25 spid51 *2014-12-13 12:38:30.25 spid51 * Exception Address = 000000000030D47C Module(sqlservr+00000000000FD47C)2014-12-13 12:38:30.25 spid51 * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION2014-12-13 12:38:30.25 spid51 * Access Violation occurred reading address FFFFFFFFFFFFFFFF2014-12-13 12:38:30.25 spid51 * Input Buffer 54 bytes -2014-12-13 12:38:30.25 spid51 * exec usp_select12014-12-13 12:38:30.77 Server Error: 17310, Severity: 20, State: 1.2014-12-13 12:38:30.77 Server A user request from the session with SPID 51 generated a fatal exception. SQL Server завершает этот сеанс. Обратитесь в службу технической поддержки с помощью дампа, созданного в каталоге журналов. Нарушение прав доступа будет иметь следующий стек вызовов: sqlservr! TaskGhostCleanup:: хэшируется + 0x8dsqlservr! TaskGhostCleanup:: поставить в очередь + 0x32sqlservr! IndexRowScanner:: MoveToRowOnNextPage + 0x9csqlservr! IndexDataSetSession:: GetNextRowValuesInternal + 0x11cb

Симптом 3

После получения сообщений, упомянутых в предыдущих разделах симптомов, в журнале ошибок SQL Server появляются следующие сообщения:

2014-12-13 08:04:53.37 серверный процесс 0:0:0 (0x23c8) сотрудник 0x000000002880C1A0 не выдает на планировщик 23. Время создания потока: 13062953007877. Используется ЦП потока примерно: ядро 0 MS, пользователь 0 мс. Использование процесса 0%. Бездействие системы 88%. Interval (интервал: 70013 МС. 2014 г.)-12-13 08:04:53.37 Server Process 0:0:0 (0x71d8) работники 0x000000002A8D21A0 не выводят на план 30. Время создания потока: 13062953007891. Используется ЦП потока примерно: ядро 0 MS, пользователь 0 мс. Использование процесса 0%. Бездействие системы 88%. Interval: 70013 ms.2014-12-13 08:04:53.38 Server ***Unable to get thread context for spid 02014-12-13 08:04:53.38 Server * *******************************************************************************2014-12-13 08:04:53.38 Server *2014-12-13 08:04:53.38 Server * BEGIN STACK DUMP:2014-12-13 08:04:53.38 Server * 12/13/14 08:04:53 spid 294882014-12-13 08:04:53.38 Server *2014-12-13 08:04:53.38 Server * Non-yielding Scheduler2014-12-13 08:04:53.38 Server *2014-12-13 08:04:53.38 Server * *******************************************************************************2014-12-13 08:04:53.38 Server Stack Signature for the dump is 0x00000000000003412014-12-13 08:04:55.43 Server External dump process return code 0x20000001. Внешний процесс дампа не вернул ошибки. 2014 г. — 13 08:04:55.43 Server Process 0:0:0 (0x9358) работники 0x0000000081CE41A0 не выдаются в планировщик 4. Время создания потока: 13062953009701. Используется ЦП потока примерно: ядро 0 MS, пользователь 15 мс. Использование процесса 0%. Бездействие системы 88%. Интервал: 70011 МС.

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

Причина

Эта проблема возникает из-за того, что запросы пользователя пытаются использовать очереди очистки фантомных записей до полной инициализации этого процесса.

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

Обходное решение

Чтобы обойти эту проблему, выполните указанные ниже действия.

  1. Configure -T669 AS параметр запуска. Этот флаг трассировки предотвращает запросы пользователей от очереди запросов на процесс очистки фантомных записей.

  2. Настройте оповещение агента SQL Server для запуска задания в SQL MSG 3408. Например, настройте следующее оповещение:

    Восстановление завершено. Это информационное сообщение. Никаких действий пользователя не требуется.

  3. Внутри этого задания запустите сценарий TSQL, чтобы подождать 5 – 10 минут, а затем выполните команду DBCC TRACEOFF (669,-1) .

Эта процедура гарантирует, что этот флаг трассировки будет активен только во время запуска SQL Server. Использование этого флага трассировки не влияет на обычное функционирование процесса фоновой очистки.

Статус

Корпорация Майкрософт подтвердила, что это проблема в SQL Server, и в настоящее время исследует исправление этой проблемы. Эта статья базы знаний будет обновлена с учетом дополнительной информации, как только она станет доступна.

Ссылки

В подсистеме хранилища: очистка фантомных данных в оповещенияхглубиныsp_add_alert (TRANSACT-SQL)DBCC TRACEOFF

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

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

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

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

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×