KB2890052 – Integration Services-Katalogberechtigungen funktionieren nicht für Windows-Gruppen in SQL Server 2012 oder SQL Server 2014

Gilt für
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)

Symptome

Nehmen Sie folgendes Szenario an:

  • Sie führen eine instance des Integration Services-Katalogs und des SSISDB-Katalogs in Microsoft SQL Server 2012 oder SQL Server 2014 aus.

  • Sie erteilen den Mitgliedern der Windows-Gruppe Berechtigungen, damit sie Zugriff auf einen SSIS-Katalogordner, ein Projekt oder ein sicherungsfähiges Umgebungselement haben.

    Hinweis: Sie können die Berechtigungen auf eine der folgenden Arten erteilen:

    • Sie verwenden Management Studio. Klicken Sie dazu mit der rechten Maustaste auf das Objekt im Integration Services-Katalog, wählen Sie Eigenschaften aus, navigieren Sie dann auf der Seite Berechtigungen zu der Gruppe, fügen Sie die Gruppe hinzu, und wählen Sie dann die Berechtigungen für diese Gruppe aus.
    • Sie rufen die folgende gespeicherte Prozedur auf:
      [SSISDB]. [Katalog]. [grant_permission]
  • Ein Windows-Benutzer, der Mitglied der Windows-Gruppe ist, versucht, die Pakete in der SSISDB-Datenbank im Integration Services-Katalog mithilfe von Management Studio oder der gespeicherten Prozedur anzuzeigen und auszuführen.

In diesem Szenario kann der Benutzer die Pakete, für die ihm Berechtigungen erteilt wurden, nicht sehen und diese Pakete nicht überprüfen oder ausführen.

Ursache

Dieses Problem tritt aufgrund eines Problems in internen SSISDB-Ansichten auf. Dadurch wird verhindert, dass der Benutzer über die erwarteten effektiven Berechtigungen verfügt, wenn die Berechtigungen über die Windows-Gruppenmitgliedschaft erteilt werden.

Lösung

Das Problem wurde erstmals im folgenden kumulativen Update von SQL Server behoben.

Kumulatives Update 1 für SQL Server 2014 /de-de/help/2931693

Kumulatives Update 7 für SQL Server 2012 SP1 /en-us/help/2894115

Informationen zu kumulativen Updates für SQL Server

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

      

Problemumgehung

Um dieses Problem zu umgehen, verwenden Sie nicht die Windows-Gruppe verschiedener Benutzer, um auf das sicherungsfähige SSIS zuzugreifen. Verwenden Sie stattdessen eine benutzerdefinierte Datenbankrolle in SQL Server, um die erforderliche Liste von Windows-Benutzern zu kapseln, und weisen Sie dann dieser Datenbankrolle die Berechtigungen zu.

Schritte zur Problemumgehung

Führen Sie hierzu die folgenden Schritte aus:

  1. Erstellen Sie die erforderlichen Windows-Anmeldungen bei der Instance von SQL Server, und gewähren Sie dem Benutzer Zugriff auf die SSISDB-Datenbank. Sie können Management Studio beispielsweise verwenden, indem Sie zu Sicherheit wechseln, auf Anmeldungen klicken und dann auf Neue Anmeldung klicken. Sie können aber auch für jede Windows-Benutzeranmeldung das folgende Skript verwenden:

    USE master
    GO
    BENUTZERNAMENFÜR ANMELDEDOMÄNE\ UNTER WINDOWS MIT DEFAULT_DATABASE=master ERSTELLEN
    GO
    VERWENDEN VON SSISDB
    GO
    BENUTZERDOMÄNENBENUTZERNAMEN\FÜR ANMELDUNG\ ERSTELLENDOMÄNENBENUTZERNAME
    GO

  2. Erstellen Sie in der SSISDB-Datenbank eine benutzerdefinierte Datenbankrolle, z. B. ssis_users. Sie können z. B. Management Studio verwenden, indem Sie zu Datenbanken wechseln, auf SSISDB,auf Sicherheit klicken, auf Rollen klicken, auf Datenbankrollen klicken und dann auf Neue Datenbankrolle klicken. Sie können auch das folgende Skript verwenden:

    VERWENDEN VON SSISDB
    GO
    ROLLE ERSTELLEN ssis_users
    GO

  3. Fügen Sie die gewünschten Benutzer in SSISDB zur Rolle ssis_users hinzu. Sie können z. B. Management Studio verwenden, indem Sie zu Datenbanken wechseln, auf SSISDB,auf Sicherheit klicken, auf Rollen klicken, auf Datenbankrollen klicken, auf Rollenmitglieder klicken und dann auf Hinzufügen klicken. Sie können auch das folgende Skript verwenden:

    VERWENDEN VON SSISDB
    GO
    ROLLE ÄNDERN ssis_usersBENUTZERNAMENFÜR MITGLIEDSDOMÄNE\ HINZUFÜGEN
    GO

  4. Klicken Sie mit der rechten Maustaste auf das sicherungsfähige Objekt im Integration Services-Katalog, klicken Sie auf Eigenschaften, klicken Sie auf der Seite Berechtigungen auf Durchsuchen , um die Datenbankrolle zu den Berechtigungen hinzuzufügen, und wählen Sie dann für die gewünschten expliziten Berechtigungen wie folgt Erteilen oder Verweigern aus:

    Wählen Sie

Hinweis: Diese Berechtigungen reichen möglicherweise nicht aus, um ein SSIS-Paket erfolgreich auszuführen. Jedes SSIS-Paket ist ein benutzerdefiniertes Design und kann zusätzliche spezifische Anforderungen für den Zugriff auf bestimmte Server und Datenbanken oder Freigaben haben, damit das SSIS-Paket erfolgreich überprüft oder ausgeführt werden kann.

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Referenzmaterial

Weitere Informationen finden Sie in den folgenden Themen auf der MSDN-Website (MSDN):

SSIS-Katalog
        
         Dialogfeld "Ordnereigenschaften"
        
         Dialogfeld "Projekteigenschaften"
        
         Dialogfeld "Umgebungseigenschaften"
        
        
Siehe die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.