Erstellen eines Proxys für den SQL Server-Agent
In diesem Thema wird beschrieben, wie SQL Server-Agent-Proxys in SQL Server 2012 mithilfe von SQL Server Management Studio oder Transact-SQL erstellt werden.
Ein SQL Server-Agent-Proxykonto definiert einen Sicherheitskontext, in dem ein Auftragsschritt ausgeführt werden kann. Jeder Proxy entspricht bestimmten Sicherheitsanmeldeinformationen. Um Berechtigungen für einen bestimmten Auftragsschritt festzulegen, erstellen Sie ein Proxykonto mit den erforderlichen Berechtigungen für ein Subsystem des SQL Server-Agents und weisen dann dieses Proxykonto dem Auftragsschritt zu.
In diesem Thema
Vorbereitungen:
Einschränkungen
Sicherheit
So erstellen Sie einen Proxy für den SQL Server-Agent mit
SQL Server Management Studio
Transact-SQL
Vorbereitungen
Einschränkungen
Sie müssen, falls keine Anmeldeinformationen vorhanden sind, Anmeldeinformationen erstellen, bevor Sie ein Proxykonto erstellen.
Von SQL Server-Agent-Proxys werden Anmeldeinformationen zum Speichern von Informationen zu Windows-Benutzerkonten verwendet. Der in der Anmeldeinformation angegebene Benutzer muss über eine Berechtigung des Typs "Anmelden als Stapelverarbeitungsauftrag" auf dem Computer verfügen, auf dem SQL Server ausgeführt wird.
Vom SQL Server-Agent wird der Subsystemzugriff für einen Proxy überprüft und der Zugriff auf den Proxy jedes Mal dann gewährt, wenn der Auftragsschritt ausgeführt wird. Wenn der Proxyzugriff auf das Subsystem nicht mehr länger möglich ist, erzeugt der Auftragsschritt einen Fehler. Ansonsten wird vom SQL Server-Agent die Identität des Benutzers angenommen, der im Proxy angegeben ist und von dem der Auftragsschritt ausgeführt wird.
Die Berechtigungen für den Benutzer werden nicht durch das Erstellen eines Proxys geändert, der in den Anmeldeinformationen für den Proxy angegeben ist. Sie können beispielsweise einen Proxy für einen Benutzer erstellen, der keine Verbindungsberechtigung für eine Instanz von SQL Server hat. In diesem Fall kann von Auftragsschritten, die diesen Proxy verwenden, keine Verbindung zu SQL Server hergestellt werden.
Wenn die Anmeldung für den Benutzer Zugriffsrecht auf den Proxy hat, oder der Benutzer zu einer Rolle mit Zugriffsrechten auf den Proxy gehört, kann der Benutzer den Proxy in einem Auftragsschritt verwenden.
Sicherheit
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin haben die Berechtigung zum Erstellen, Ändern oder Löschen von Proxykonten. Benutzer, die nicht Mitglieder der festen Serverrolle sysadmin sind, müssen zur Verwendung von Proxys einer der folgenden festen Datenbankrollen des SQL Server-Agents in der msdb-Datenbank hinzugefügt werden: SQLAgentUserRole, SQLAgentReaderRole oder SQLAgentOperatorRole.
Erfordert die ALTER ANY CREDENTIAL-Berechtigung, wenn für den Proxy zusätzlich eine Anmeldeinformation erstellt wird.
[Top]
Verwendung von SQL Server Management Studio
So erstellen Sie einen Proxy für den SQL Server-Agent
Klicken Sie im Objekt-Explorer auf das Pluszeichen, um den Server zu erweitern, auf dem Sie ein Proxy auf dem SQL Server-Agent erstellen möchten.
Klicken Sie auf das Pluszeichen, um SQL Server-Agent zu erweitern.
Klicken Sie mit der rechten Maustaste auf den Ordner Proxys, und wählen Sie dann Neuer Proxy aus.
Geben Sie in das Dialogfeld Neues Proxykonto auf der Seite Allgemein den Namen des neuen Proxykontos in das Feld Proxyname ein.
Geben Sie im Feld Anmeldeinformationsname den Namen der Sicherheitsanmeldeinformationen ein, die vom Proxykonto verwendet werden.
Geben Sie im Feld Beschreibung eine Beschreibung für das Proxykonto ein.
Wählen Sie unter Folgenden Subsystemen gegenüber aktiv das bzw. die entsprechenden Subsysteme für diesen Proxy aus.
Auf der Seite Prinzipale können Sie Anmeldenamen oder Rollen hinzufügen oder entfernen, um den Zugriff auf das Proxykonto zu erteilen oder zu entziehen.
Wenn Sie fertig sind, klicken Sie auf OK.
[Top]
Verwendung von Transact-SQL
So erstellen Sie einen Proxy für den SQL Server-Agent
Stellen Sie im Objekt-Explorer eine Verbindung zu einer Instanz von Database Engine (Datenbankmodul) her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
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:
[Top]