KB2890052 – Integration Services-katalogtilladelser fungerer ikke for Windows-grupper i SQL Server 2012 eller SQL Server 2014

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

Symptomer

Overvej følgende scenarie:

  • Du kører en forekomst af Integration Services-kataloget og SSISDB-kataloget i Microsoft SQL Server 2012 eller SQL Server 2014.

  • Du giver medlemmerne af Windows-gruppen tilladelser, så de har adgang til en SSIS-katalogmappe, et projekt eller et miljøelement, der kan sikres.

    Bemærk! Du kan tildele tilladelserne på følgende måder:

    • Du bruger Management Studio. Det gør du ved at højreklikke på objektet i kataloget Integration Services, vælge Egenskaber, gå til gruppen på siden Tilladelser , tilføje gruppen og derefter vælge tilladelserne for gruppen.
    • Du kalder følgende lagrede procedure:
      [SSISDB]. [katalog]. [grant_permission]
  • En Windows-bruger, der er medlem af Windows-gruppen, forsøger at få vist og køre pakkerne i SSISDB-databasen i Integration Services-kataloget ved hjælp af Management Studio eller den gemte procedure.

I dette scenarie kan brugeren ikke se de pakker, vedkommende har fået tilladelser til, og kan ikke validere eller køre disse pakker.

Årsag

Dette problem opstår på grund af et problem i SSISDB's interne visninger. Dette forhindrer, at brugeren kan få de forventede effektive tilladelser, når tilladelserne tildeles ved hjælp af et Windows-gruppemedlemskab.

Løsning

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

Samlet opdatering 1 til SQL Server 2014 /en-us/help/2931693

Samlet opdatering 7 til SQL Server 2012 SP1 /en-us/help/2894115

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:

      

Løsning

Du kan løse dette problem ved ikke at bruge Windows-gruppen med forskellige brugere til at få adgang til den SSIS-beskyttelse, der kan sikres. Brug i stedet en brugerdefineret databaserolle i SQL Server til at indkapsle den nødvendige liste over Windows-brugere, og tildel derefter tilladelserne til den pågældende databaserolle.

Trin til midlertidig løsning

Det kan du gøre ved at udføre disse trin:

  1. Opret de nødvendige Windows-logon til forekomsten af SQL Server, og giv derefter brugeren adgang til SSISDB-databasen. Du kan f.eks. bruge Management Studio ved at gå til Sikkerhed, klikke på Logon og derefter klikke på Nyt logon. Eller du kan bruge følgende script til hvert Windows-brugerlogon:

    BRUG MASTER
    START
    OPRETBRUGERNAVN TIL LOGINDOMÆNE\ FRA WINDOWS MED DEFAULT_DATABASE=master
    START
    BRUG SSISDB
    START
    OPRET BRUGER domænebrugernavn\ TIL LOGINdomænebrugernavn\
    START

  2. Opret en brugerdefineret databaserolle i SSISDB-databasen, som f.eks. ssis_users. Du kan f.eks. bruge Management Studio ved at gå til Databaser, klikke på SSISDB, klikke på Sikkerhed, klikke på Roller, klikke på Databaseroller og derefter klikke på Ny databaserolle. Eller du kan bruge følgende script:

    BRUG SSISDB
    START
    OPRET ROLLE ssis_users
    START

  3. Føj de ønskede brugere i SSISDB til rollen ssis_users. Du kan f.eks. bruge Management Studio ved at gå til Databaser, klikke på SSISDB, klikke på Sikkerhed, klikke på Roller, klikke på Databaseroller, klikke på Rollemedlemmer og derefter klikke på Tilføj. Eller du kan bruge følgende script:

    BRUG SSISDB
    START
    ÆNDR ROLLE ssis_users TILFØJ MEDLEMSDOMÆNEBRUGERNAVN\
    START

  4. Højreklik på objektet, der kan sikres, i kataloget Integration Services, klik på Egenskaber, klik på Gennemse på siden Tilladelser for at føje databaserollen til tilladelserne, og vælg derefter Tildel eller Afvis på de ønskede eksplicitte tilladelser som følger:

    Vælg Tildel eller Afvis på de ønskede eksplicitte tilladelser

Bemærk, at disse tilladelser muligvis ikke er tilstrækkelige til at udføre en SSIS-pakke. Hver SSIS-pakke er et brugerdefineret design og kan have yderligere specifikke krav for at få adgang til bestemte servere og databaser eller shares for at validere eller køre SSIS-pakken.

Status

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

Referencer

Du kan finde flere oplysninger under følgende emner på webstedet MSDN (Microsoft Developer Network) (MSDN):

SSIS-katalog
        
         Dialogboksen Egenskaber for mappe
        
         Dialogboksen Egenskaber for projekt
        
         Dialogboksen Egenskaber for miljø
        
        
Se den terminologi , som Microsoft bruger til at beskrive softwareopdateringer.