Simptomi
Pretpostavimo da imate dozvolu za izbor za tabelu koja ima ne-dbo šemu u sistemu Microsoft SQL Server 2012 ili SQL Server 2014. Kada izvršite upit iz prikaza sys.column_store_segments, kolona has_nulls, base_id, veličina, min_data_id, max_data_id i null_value prikazuje vrednost NULL.
Napomena
Prikaz sys.column_store_segments izvršava bezbednosnu proveru koristeći sledeću funkciju:
HAS_PERMS_BY_NAME ( securable , securable_class , permission [ , sub-securable ] [ , sub-securable_class ] )Kolona has_nulls, base_id, magnituda, min_data_id, max_data_id i null_value daje vrednost NULL, osim ako korisnik nije izabrao dozvolu.
Uzrok
Do problema dolazi zato što bezbednosna provera prikaza ne uzima u obzir šemu koja nije dbo. Zbog toga, čak i ako imate dozvolu za izbor za tabelu koja nema dbo šemu, i dalje dobijate vrednost NULL iz prikaza.
Rešenje
Problem je prvi put rešen u sledećoj kumulativnoj ispravci sistema SQL Server.
Kumulativna ispravka 2 za SQL Server 2012 SP2 /en-us/help/2983175
Kumulativna ispravka 12 za SQL Server 2012 SP1 /en-us/help/2991533
Kumulativna ispravka 3 za SQL Server 2014 /en-us/help/2984923
Osnovni podaci o kumulativnim ispravkama za SQL Server
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
- Najnovija kumulativna ispravka za SQL Server 2012 SP2
- Najnovija kumulativna ispravka za SQL Server 2012 SP1
- Najnovija kumulativna ispravka za SQL Server 2014
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.