Симптоми
Да предположим, че имате разрешение за избор в таблицата, която има схема, която не е 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:
- Последна кумулативна актуализация за SQL Server 2012 SP2
- Последна сборна актуализация за SQL Server 2012 SP1
- Последна сборна актуализация за SQL Server 2014
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.