KB2989704 – КОРЕКЦИЯ: Някои колони в sys.column_store_segments изглед показват стойност NULL, когато таблицата има схема, която не е dbo в SQL Server

Отнася се за
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Симптоми

Да предположим, че имате разрешение за избор в таблицата, която има схема, която не е dbo, в Microsoft SQL Server 2012 или SQL Server 2014. Когато правите заявка от sys.column_store_segments изглед, колоната has_nulls, base_id, големина, min_data_id, max_data_id и null_value показва стойност NULL.

Забележка

  • Изгледът на sys.column_store_segments извършва проверката на защитата с помощта на следната функция:

    HAS_PERMS_BY_NAME ( securable , securable_class , permission  
        [ , sub-securable ] [ , sub-securable_class ] )
    
  • Колоната has_nulls, base_id, magnitude, min_data_id, max_data_id и null_value връща стойност NULL, освен ако потребителят няма разрешение за избор.

Причина

Проблемът възниква, защото проверката на защитата на изгледа не отчита схема, която не е dbo. Следователно, въпреки че имате разрешение за избор на таблицата със схема, която не е dbo, все още получавате ПРАЗНА стойност от изгледа.

Решение

Проблемът е коригиран за първи път в следващата кумулативна актуализация на SQL Server.

Сборна актуализация 2 за SQL Server 2012 SP2 /en-us/help/2983175

Сборна актуализация 12 за SQL Server 2012 SP1 /en-us/help/2991533

Сборна актуализация 3 за SQL Server 2014 г. /en-us/help/2984923

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

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

      

Състояние

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