KB3174711 – SYSTEM_VERSIONING не е включено за таблица в база данни, която има разрешено ниво на изолиране на READ_COMMITTED_SNAPSHOT в SQL Server 2016

Отнася се за
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use)

Симптоми

Опитвате се да включите SYSTEM_VERSIONING за оптимизирана за паметта таблица в база данни, която има разрешено ниво на изолиране на READ_COMMITTED_SNAPSHOT . Ако DATA_CONSISTENCY_CHECK не е дезактивиран, може да получите съобщение за грешка, което е подобно на следното:

Забележка

Msg 41359, ниво 16, щат 0, ред 36Заявка, която осъществява достъп до оптимизирани за паметта таблици с нивото на изолиране READ COMMITTED, не може да получи достъп до таблици, базирани на диск, когато опцията за база данни READ_COMMITTED_SNAPSHOT е зададена на "ВКЛ". Осигурете поддържано ниво на изолиране за оптимизираната за паметта таблица с помощта на подсещане за таблица, като например WITH (SNAPSHOT).

      

Решение

Корекцията за този проблем е включена в следната кумулативна актуализация за SQL Server:

Сборна актуализация 1 за SQL Server 2016
      

За кумулативните актуализации за SQL Server

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

Последна сборна актуализация за SQL Server 2016
      

Заобиколно решение

За да заобиколите този проблем, изключете проверката за съответствие на данните, като добавите клаузата DATA_CONSISTENCY_CHECK = OFF в командата CREATE TABLE .

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.

Справки

Научете повече за терминологията , която Microsoft използва за описване на актуализациите на софтуера.