KB2989704 – RETTELSE: Nogle kolonner i sys.column_store_segments visning viser NULL-værdier, når tabellen har ikke-dbo-skema i SQL Server

Gælder for
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Symptomer

Antag, at du har udvælgelsestilladelse til den tabel, der har et ikke-dbo-skema i Microsoft SQL Server 2012 eller SQL Server 2014. Når du forespørger fra visningen sys.column_store_segments, viser kolonnen has_nulls, base_id, størrelse, min_data_id, max_data_id og null_value en NULL-værdi.

Bemærk

  • sys.column_store_segments visning udfører sikkerhedskontrollen ved hjælp af følgende funktion:

    HAS_PERMS_BY_NAME ( securable , securable_class , permission  
        [ , sub-securable ] [ , sub-securable_class ] )
    
  • Kolonnen has_nulls, base_id, størrelse, min_data_id, max_data_id og null_value returnerer NULL-værdi, medmindre brugeren har valgt tilladelse.

Årsag

Problemet opstår, fordi sikkerhedskontrollen af visningen ikke tager højde for ikke-DBO-skemaet. Derfor modtager du stadig en NULL-værdi fra visningen, selvom du har select-tilladelse til tabellen med ikke-dbo-skema.

Løsning

Problemet blev først løst i følgende kumulative opdatering af SQL Server.

Kumulativ opdatering 2 til SQL Server 2012 SP2 /en-us/help/2983175

Kumulativ opdatering 12 til SQL Server 2012 SP1 /en-us/help/2991533

Samlet opdatering 3 til SQL Server 2014 /en-us/help/2984923

Om kumulative opdateringer til SQL Server

Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:

      

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".