Freigeben über


Erstellen eines SQL Server-Agent-Proxys

In diesem Thema wird beschrieben, wie Sie einen SQL Server-Agent-Proxy in SQL Server 2014 mithilfe von SQL Server Management Studio oder Transact-SQL erstellen.

Ein SQL Server-Agent-Proxykonto definiert einen Sicherheitskontext, in dem ein Auftragsschritt ausgeführt werden kann. Jeder Proxy entspricht einer Sicherheitsberechtigung. Um Berechtigungen für einen bestimmten Auftragsschritt festzulegen, erstellen Sie einen Proxy mit den erforderlichen Berechtigungen für ein SQL Server-Agent-Subsystem, und weisen Sie diesen Proxy dem Auftragsschritt zu.

In diesem Themenbereich

Bevor Sie beginnen

Einschränkungen und Beschränkungen

  • Sie müssen Anmeldeinformationen erstellen, bevor Sie einen Proxy erstellen, wenn noch keine verfügbar sind.

  • SQL Server-Agent-Proxys verwenden Anmeldeinformationen zum Speichern von Informationen zu Windows-Benutzerkonten. Der in den Anmeldeinformationen angegebene Benutzer muss über die Berechtigung "Als Batchauftrag anmelden" auf dem Computer verfügen, auf dem SQL Server ausgeführt wird.

  • DER SQL Server-Agent überprüft den Subsystemzugriff auf einen Proxy und gewährt bei jeder Ausführung des Auftragsschritts Zugriff auf den Proxy. Wenn der Proxy keinen Zugriff mehr auf das Subsystem hat, schlägt der Auftragsschritt fehl. Andernfalls ahmt der SQL Server-Agent den im Proxy angegebenen Benutzer nach und führt den Aufgabenschritt aus.

  • Die Erstellung eines Proxys ändert nicht die Berechtigungen für den Benutzer, der in den Anmeldeinformationen für den Proxy angegeben ist. Sie können z. B. einen Proxy für einen Benutzer erstellen, der nicht über die Berechtigung zum Herstellen einer Verbindung mit einer Instanz von SQL Server verfügt. In diesem Fall können Auftragsschritte, die diesen Proxy verwenden, keine Verbindung mit SQL Server herstellen.

  • Wenn die Anmeldung für den Benutzer Zugriff auf den Proxy hat oder der Benutzer zu einer beliebigen Rolle mit Zugriff auf den Proxy gehört, kann der Benutzer den Proxy in einem Auftragsschritt verwenden.

Sicherheit

Erlaubnisse

  • Nur Mitglieder des sysadmin feste Serverrolle verfügen über die Berechtigung zum Erstellen, Ändern oder Löschen von Proxykonten. Benutzer, die keine Mitglieder der festen Serverrolle sysadmin sind, müssen einer der folgenden festen SQL Server-Agent-Datenbankrollen in der msdb-Datenbank hinzugefügt werden, um Proxys zu verwenden: SQLAgentUserRole, SQLAgentReaderRole oder SQLAgentOperatorRole.

  • Erfordert ALTER ANY CREDENTIAL Berechtigung, wenn zusätzlich zum Proxy anmeldeinformationen erstellt werden.

Verwendung von SQL Server Management Studio

So erstellen Sie einen SQL Server-Agent-Proxy

  1. Klicken Sie im Objekt-Explorer auf das Pluszeichen, um den Server zu erweitern, auf dem Sie einen Proxy im SQL Server-Agent erstellen möchten.

  2. Klicken Sie auf das Pluszeichen, um SQL Server Agentzu erweitern.

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Proxys, und wählen Sie Neuer Proxyaus.

  4. Geben Sie im Dialogfeld Neues Proxykonto auf der Seite Allgemeine den Namen des Proxykontos im Feld Proxynamen ein.

  5. Geben Sie im Feld Anmeldeinformationsname den Namen der Sicherheitsanmeldeinformationen ein, die das Proxykonto verwendet.

  6. Geben Sie im Feld Beschreibung eine Beschreibung für das Proxykonto ein.

  7. Wählen Sie unter Aktiv für die folgenden Subsystemedas entsprechende Subsystem oder die entsprechenden Subsysteme für diesen Proxy aus.

  8. Fügen Sie auf der Seite Hauptbenutzer Anmeldungen oder Rollen hinzu oder entfernen Sie diese, um den Zugriff auf das Proxykonto zu gewähren oder zu widerrufen.

  9. Klicken Sie abschließend auf OK.

Verwenden von Transact-SQL

So erstellen Sie einen SQL Server-Agent-Proxy

  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, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.

    -- creates credential CatalogApplicationCredential  
    USE msdb ;  
    GO  
    CREATE CREDENTIAL CatalogApplicationCredential WITH IDENTITY = 'REDMOND/TestUser',   
        SECRET = 'G3$1o)lkJ8HNd!';  
    GO  
    -- creates proxy "Catalog application proxy" and assigns the credential 'CatalogApplicationCredential' to it.  
    EXEC dbo.sp_add_proxy  
        @proxy_name = 'Catalog application proxy',  
        @enabled = 1,  
        @description = 'Maintenance tasks on catalog application.',  
        @credential_name = 'CatalogApplicationCredential' ;  
    GO  
    -- grants the proxy "Catalog application proxy" access to the ActiveX Scripting subsystem.  
    EXEC dbo.sp_grant_proxy_to_subsystem  
        @proxy_name = N'Catalog application proxy',  
        @subsystem_id = 2 ;  
    GO  
    

Weitere Informationen finden Sie unter: