Požymiai
Tarkime, kad turite teisę pasirinkti lentelę, kurioje yra ne dbo schema "Microsoft „SQL Server“ 2012" arba "„SQL Server“ 2014". Kai užklausą pateikiate iš sys.column_store_segments rodinio, stulpelio has_nulls, base_id, dydis, min_data_id, max_data_id ir null_value reikšmė yra NULL.
Pastaba
sys.column_store_segments rodinyje saugos patikra atliekama naudojant šią funkciją:
HAS_PERMS_BY_NAME ( securable , securable_class , permission [ , sub-securable ] [ , sub-securable_class ] )Stulpeliai has_nulls, base_id, dydis, min_data_id, max_data_id ir null_value grąžina reikšmę NULL, nebent vartotojas turi pasirinkimo teisę.
Priežastis
Taip nutinka, nes atliekant rodinio saugos patikrą neatsižvelgiama į ne DBO schemą. Todėl, net jei turite pasirinkimo teises lentelėje su ne DBO schema, vis tiek gaunate NULL reikšmę iš rodinio.
Sprendimas
Problema pirmą kartą buvo išspręsta šiame kaupiamajame „SQL Server“ naujinime.
2 kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP2 /en-us/help/2983175
12 kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP1 /en-us/help/2991533
3 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 /en-us/help/2984923
Apie kaupiamuosius „SQL Server“ naujinimus
Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP2
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP1
- Naujausias "„SQL Server“ 2014" kaupiamasis naujinimas
Būsena
„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.