Проблема
Предположим, что вы используете Microsoft SQL Server 2008 R2, SQL Server 2012 или SQL Server 2014. При выполнении запроса с использованием функций TOP N и ORDER BY возникает ошибка утверждения, похожая на нижеприведенную.
Примечание
Расположение: "qstopsrt.cpp":384
Выражение: fFalse
SPID: <SPID>
Идентификатор процесса: <ProcessID>
Расположение: qxcntxt.cpp:1052
Выражение: cref == 0
SPID: <SPID>
Идентификатор процесса: <ProcessID>
MSG 3624, уровень 20, состояние 1, строка 2
Не удалось выполнить проверку утверждения системы. Дополнительные сведения см. в журнале ошибок SQL Server. Как правило, сбой утверждения вызван ошибкой программного обеспечения или повреждением данных. Чтобы выполнить проверку на наличие повреждений базы данных, рассмотрите возможность запуска DBCC CHECKDB. Если вы согласились отправлять дампы в Microsoft во время установки, мини-дамп будет отправлен в Microsoft. Обновление может быть доступно от Майкрософт в последнем пакете обновления или в QFE от технической поддержки.
MSG 0, уровень 20, состояние 0, строка 0
Возникла серьезная ошибка текущей команды. Результаты, если таковые имеются, должны быть отброшены.
Примечание. Исправление также может применяться к тому, что план запроса содержит команду "Сортировка (сверху и сортировкой)".
Причина
Проблема возникает из-за внутренней ошибки в подсистеме выполнения запросов.
Решение
Эта проблема была впервые исправлена в следующем накопительном пакете обновления SQL Server.
Накопительный пакет обновления 1 для SQL Server 2012 с пакетом обновления 2 (SP2) /en-us/help/2976982
Накопительный пакет обновления 2 для SQL Server 2014 г. /en-us/help/2967546
Накопительный пакет обновления 10 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/2954099
Накопительный пакет обновления 12 для SQL Server 2008 R2 SP2 /en-us/help/2938478
Сведения о накопительных обновлениях для SQL Server
Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Ознакомьтесь с последними накопительными пакетами обновления для SQL Server:
- Последний накопительный пакет обновления для SQL Server 2012 с пакетом обновления 2 (SP2)
- Последний накопительный пакет обновления для SQL Server 2014
- Последний накопительный пакет обновления для SQL Server 2012 с пакетом обновления 1 (SP1)
- Последний накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».