Применяется к
SQL Server 2008 Service Pack 3 SQL Server 2008 Enterprise SQL Server 2008 Developer SQL Server 2008 Standard SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Проблемы

При выполнении сложного оператора обновления вместе с подсказкой NOLOCK для таблицы в Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 или SQL Server 2014 может возникнуть повреждение некластеризованного индекса. Кроме того, в журнале ошибок сервера SQL Server может регистрироваться следующее сообщение об ошибке:

<дата><время> spid # ошибка: 8646, серьезность: 21, состояние: 1. <Дата><. время> SPID # не удается найти элемент указателя в индексе с идентификатором 3 в таблице 2102402659, в базе данных "<DatabaseName>". Указанные индексы повреждены, или возникла проблема с текущим планом обновления. Выполните инструкции DBCC CHECKDB или DBCC CHECKTABLE. Если проблема не устранена, обратитесь в службу технической поддержки. <дата><время> SPID # с помощью "dbghelp. dll ' version ' 4.0.5 ' <Дата><время> SPID # * dump Thread-SPID = 0, EC = 0x0000000BD70624C0<Дата><время> SPID MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt><2 дата><время> SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <даты><время> SPID # * <Дата><время> SPID# <><Дата>время <SPID # Дата><время> SPID # * <Дата><время> SPID # * CPerIndexMetaQS:: ErrorAbort — повреждение индекса><0 Дата><время> SPID # *

Примечание.Подсказка NOLOCK может применяться к исходным таблицам в инструкции. Однако вы не можете применить подсказку NOLOCK к целевым таблицам в инструкции.

Причина

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

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

Статус

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

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

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

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