Проблемы
Вы выполняете запрос SQL, содержащий инструкцию Если EXISTS в Microsoft SQL Server 2012. Если оператор Если EXISTS включает функцию динамического управления sys.dm_db_index_physical_stats, появляется нарушение прав доступа, подобное следующему:
Date time SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #Датавремя SPID # *Датавремя SPID # * дамп стека:Датаивремя SPID # * Дата время SPID #Датавремя SPID# *Дата времяSPID #* DateДата =код =000007FF7DA5614B-код= c0000005 EXCEPTION_ACCESS_VIOLATIONДатавремяSPID #* нарушение прав доступа при чтении адреса 0000000800000F04ДатавремяSPID# * input buffer 510 байт-Датавремя SPID #*SQL_query_codeдатыивремени SPID # * End #
Примечания.
-
Если выполнить команду DBCC CHECKDB для этой базы данных после возникновения нарушения прав доступа, сообщение об ошибке не будет выводиться.
-
Нарушение прав доступа при первом запуске SQL запроса. Однако нарушение прав доступа происходит каждый раз при выполнении запроса SQL.
-
Если включить флаг трассировки 3654, нарушение прав доступа не происходит. Однако вместо этого появляется следующее сообщение об ошибке:
Расположение: sosmemdbg. cpp: 2074Expression: FALSESPID: 55Process ID: 16972Description: MEMOBJ_INDEXANALYSIS--не обнаружена свободная память. Сообщение 3624, уровень 20, состояние 1, проверка утверждения системы в строке 5A не удалась. Подробности см. в журнале ошибок SQL Server. Как правило, сбой утверждения вызывается из-за ошибки программного обеспечения или повреждения данных. Чтобы проверить, не повреждена ли база данных, попробуйте выполнить команду DBCC CHECKDB. Если вы согласились отправлять дампы в Microsoft во время установки, мини-дамп будет отправлен в корпорацию Майкрософт. Обновление может быть доступно в Microsoft в новейшем пакете обновления или в QFE от службы технической поддержки. В текущей команде возникла ошибка, связанная с сообщением 0, уровнем 20, состоянием 0, строка 0A серьезной ошибки. Результаты, если таковые имеются, должны быть удалены.
Решение
Чтобы устранить эту проблему, установите накопительное обновление 7 для SQL server 2012 с пакетом обновления 1 (SP1). Впервые эта проблема была исправлена в этом накопительном обновлении.
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, включенные в предыдущий накопительный пакет обновления. Подробнее об этом можно узнать из последнего накопительного обновления для SQL server 2012 с пакетом обновления 1 (SP1).
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Ссылки
Ознакомьтесь с терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.