Sintomi
Si supponga di avere l'autorizzazione SELECT per la tabella che contiene uno schema non dbo in Microsoft SQL Server 2012 o SQL Server 2014. Quando si esegue una query dalla visualizzazione sys.column_store_segments , la colonna has_nulls, base_id, magnitudo, min_data_id, max_data_ide null_value Mostra un valore null .Nota
-
La visualizzazione sys.column_store_segments esegue il controllo di sicurezza usando la funzione seguente:
HAS_PERMS_BY_NAME ( securable , securable_class , permission [ , sub-securable ] [ , sub-securable_class ] )
-
La colonna has_nulls, base_id, magnitudine, min_data_id, max_data_ide null_value restituisce il valore null , a meno che l'utente non disponga di autorizzazioni di selezione.
Causa
Il problema si verifica perché il controllo di sicurezza della visualizzazione non considera lo schema non dbo. Di conseguenza, anche se è stata selezionata l'autorizzazione per la tabella con uno schema diverso da dbo, viene comunque visualizzato un valore null dalla visualizzazione.
Risoluzione
Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 2 per SQL Server 2012 SP2 /en-us/help/2983175
Aggiornamento cumulativo 12 per SQL Server 2012 SP1 /en-us/help/2991533
Aggiornamento cumulativo 3 per SQL Server 2014 /en-us/help/2984923
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".