Simptomai
Tarkime, kad turite pasirinkti teises į lentelę, kurioje yra ne dbo schemos "Microsoft SQL Server" 2012 arba "SQL Server" 2014. Kai gaunate užklausą iš sys.column_store_segments rodinio, stulpelis has_nulls, base_id, dydis, min_data_id, max_data_idir null_value rodo nulinę reikšmę.Pastaba.
-
Sys.column_store_segments rodinys atlieka saugos patikrą naudodami šią funkciją:
HAS_PERMS_BY_NAME ( securable , securable_class , permission [ , sub-securable ] [ , sub-securable_class ] )
-
Stulpelis has_nulls, base_id, dydis, Min_data_id, max_data_idir null_value pateikia nulinę reikšmę, jei vartotojas neturi teisės pasirinkti.
Priežastis
Ši problema iškyla dėl to, kad rodinio saugos patikra neatsižvelgia į ne dbo schemą. Todėl, net jei turite pasirinkti teises lentelėje su ne dbo schema, vis tiek gaunate nulinę reikšmę iš rodinio.
Sprendimas
Problema pirmą kartą buvo išspręsta šį kaupiamąjį naujinimą SQL serverio.
Kaupiamasis naujinimas 2 SQL serverio 2012 SP2 /en-us/help/2983175
Kaupiamasis naujinimas 12 SQL serverio 2012 SP1 /en-us/help/2991533
Kaupiamasis naujinimas 3 SQL serverio 2014 /en-us/help/2984923
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.