Erteilen einer Berechtigung für einen Prinzipal

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Datenbank in Microsoft Fabric

In diesem Artikel wird beschrieben, wie Sie einem Prinzipal in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL Berechtigungen erteilen.

Security

Der Gewährende (oder der mit der AS-Option angegebene Prinzipal) muss entweder über die Berechtigung selbst mit GRANT OPTION oder über eine höhere Berechtigung verfügen, in der die erteilte Berechtigung impliziert ist.

Verwenden von SQL Server Management Studio

Einem Prinzipal eine Berechtigung erteilen

  1. Erweitern Sie im Objekt-Explorer die Datenbank, die das Objekt enthält, dem Sie Berechtigungen gewähren möchten.

    Note

    In diesen Schritten geht es ausdrücklich um das Gewähren von Berechtigungen für eine gespeicherte Prozedur. Sie können jedoch auch ähnliche Schritte vollziehen, um Tabellen, Sichten, Funktionen, Assemblys sowie anderen sicherungsfähigen Elementen Berechtigungen hinzuzufügen. Weitere Informationen finden Sie unter GRANT (Transact-SQL)

  2. Erweitern Sie den Ordner Programmierbarkeit .

  3. Erweitern Sie den Ordner Gespeicherte Prozeduren .

  4. Klicken Sie mit der rechten Maustaste auf eine gespeicherte Prozedur, und wählen Sie Eigenschaftenaus.

  5. Wählen Sie im Dialogfeld " Eigenschaften der gespeicherten Prozedur" die Seite "Berechtigungen" aus. Verwenden Sie diese Seite, um der gespeicherten Prozedur Benutzer oder Rollen hinzuzufügen und um die Berechtigungen anzugeben, die diese Benutzer oder Rollen haben.

  6. Wenn Sie fertig sind, wählen Sie OK aus.

Verwenden von Transact-SQL

Zuweisen einer Berechtigung zu einem Prinzipal

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. Im folgenden Beispiel wird einer Anwendungsrolle mit dem Namen Recruiting11 die EXECUTE-Berechtigung für die gespeicherte Prozedur HumanResources.uspUpdateEmployeeHireInfo erteilt.

    -- Grants EXECUTE permission on stored procedure HumanResources.uspUpdateEmployeeHireInfo to an application role called Recruiting11.   
    USE AdventureWorks2022;  
    GO  
    GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
        TO Recruiting11;  
    GO  
    

Weitere Informationen finden Sie unter GRANT (Transact-SQL) und GRANT Objektberechtigungen (Transact-SQL).

Limitations

Mit den folgenden Best Practices wird die Verwaltung von Berechtigungen erleichtert.

  • Erteilen von Berechtigungen für Rollen statt einzelner Anmeldenamen oder Benutzer. Wenn eine Person durch eine andere ersetzt wird, entfernen Sie die ausscheidende Person aus der Rolle und fügen Sie die neue Person der Rolle hinzu. Die vielen Berechtigungen, die der Rolle möglicherweise zugeordnet sind, sind für die neue Einzelperson automatisch verfügbar. Wenn mehrere Personen in einer Organisation die gleichen Berechtigungen benötigen, können Sie diese der Rolle hinzufügen und ihnen so die gleichen Berechtigungen gewähren.

  • Konfigurieren Sie ähnliche Sicherungsobjekte (Tabellen, Sichten und Prozeduren) so, dass sie einem Schema gehören, und gewähren Sie dem Schema dann Berechtigungen. Beispielsweise kann das Lohnlistenschema mehrere Tabellen, Sichten und gespeicherte Prozeduren besitzen. Durch Gewähren des Zugriffs für das Schema können alle zum Ausführen der Lohnlistenfunktion erforderlichen Berechtigungen gleichzeitig erteilt werden. Weitere Informationen zu den sicherungsfähigen Elementen, denen Berechtigungen gewährt werden können, finden Sie unter Securables.

  • In der SQL-Datenbank in Microsoft Fabric ist die Microsoft Entra-ID für Datenbankbenutzer die einzige unterstützte Authentifizierungsmethode. Rollen und Berechtigungen auf Serverebene sind nicht verfügbar, nur auf Datenbankebene. Weitere Informationen finden Sie unter Autorisierung in der SQL-Datenbank in Microsoft Fabric.