Wie SSIS-Paket planen als etwas anderes als SQL-Agent-Dienstkonto ausgeführt werden
-
03-07-2019 - |
Frage
In SQL Server 2005 ist es möglich, ein SSIS-Paket zu planen etwas anderes als das SQL-Agent-Dienstkonto ausgeführt werden?
Ich habe ein SSIS-Paket erhält, die eine Verbindung zu einer Datenbank macht und führt eine gespeicherte Prozedur. Meine Kriterien ist, dass ich nicht Benutzernamen / Kennwörter in einem Paket oder Paketkonfiguration angeben wird, so möchte ich die integrierte Authentifizierung verwenden.
Das Problem ist, dass ein Schritt in einem Job standardmäßig läuft als SQL-Agent-Dienstkonto, und unsere Servergruppe will nicht gewähren, die Rechte auf den gespeicherten Prozeduren Konto ausführen, die mein Paket ausgeführt wird. So versuchen wir, einen Weg zu finden, um ein anderes Konto in dem Schritt angeben, so wird das Paket unter einem anderen Kontext ausgeführt. Ist das möglich?
Lösung
Wenn Sie das SSIS-Paket von SQL-Agent-Aufträge ausführen möchten, dann können Sie einen Proxy erstellen. Überprüfen Sie hier für weitere Informationen .
Andere Tipps
Wenn Sie Zugriff haben durch SQL Server Management Studio SQL Server Agent
, hier sind die Schritte, um einen Job-Schnittstelle mit dem Graphical User zu erstellen. Die Schritte zeigen, wie einen SQL-Auftrag erstellen mithilfe von SSIS SQL Agent-Dienstkonto ausgeführt werden und wie auch einen Proxy erstellen unter einem anderen mit unterschiedlichen Anmeldeinformationen ausgeführt werden.
-
Zur SQL Server Management Studio. Erweitern
SQL Server Agent
und die rechte Maustaste auf Jobs, und wählen SieNew Job...
wie in Screenshot # gezeigt 1 . -
einen Namen und Besitzer von Standard Geben Sie wird das Konto sein, der den Auftrag erstellt, aber Sie können es nach Ihren Wünschen verändern. eine Kategorie zuweisen, wenn Sie eine Beschreibung mögen und bieten auch. Siehe Screenshot # 2 .
-
Auf den Stufen Abschnitt auf
New...
wie in Screenshot # gezeigt 3 . -
Auf dem neuen Job-Step-Dialog, einen Schritt Namen angeben. Wählen
SQL Server Inegration Services Package
von Art. Dieser Schritt wird unterSQL Agent Service Account
standardmäßig ausgeführt. Wählen Sie die Paketquelle alsFile system
und wechseln Sie zu dem Paketpfad, indem Sie auf Auslassungszeichen klicken. Dadurch wird der Paketpfad füllen. Siehe Screenshot # 4 . Wenn Sie nicht möchten, dass der Schritt unter denSQL Agent Service Account
ausführen, dann die Schritte beziehen # 8 - 9 wissen, wie Sie ein verwenden anderes Konto. -
Wenn Sie eine SSIS-Konfigurationsdatei (.dtsConfig) für das Paket haben, klicken Sie auf die Schaltfläche Konfigurationen und die Konfigurationsdatei hinzufügen, wie in Screenshot # 5 gezeigt .
-
Klicken Sie auf OK und es ist das Paket in Schritt 1 wie in Screenshot # 6 gezeigt . In ähnlicher Weise können Sie verschiedene Schritte erstellen.
-
Nachdem der Auftrag erstellt wurde, können Sie mit der rechten Maustaste auf den Job, und wählen Sie
Script Job as --> CREATE To --> New Query Editor Window
das Skript zu erzeugen, wie in Screenshot # angezeigt 7 . -
den SSIS-Schritt unter anderem Konto, auf dem Management Studio auszuführen, navigieren wie in Screenshot # gezeigt
Security --> right-click on Cedentials --> select New Credential...
8 . -
Auf dem
New Credential
Dialogfeld geben Sie einen Credential Name, Windows-Konto und das Kennwort, unter denen Sie SSIS Schritte in SQL-Aufträge ausführen möchten. Siehe Screenshot # 9 . Credential wird wie in Screenshot # 10 . gezeigt erstellt werden
-
Als nächstes müssen wir einen Proxy erstellen. Auf dem Management Studio, navigieren wie in Screenshot #
SQL Server Agent --> Proxies --> right-click on SSIS Package Execution --> select New Proxy...
11 . -
Auf dem neuen Proxy Konto Fenster, geben Sie einen Namen Proxy, wählen Sie die neu Credential erstellt, eine Beschreibung zur Verfügung stellen und SQL Server Integration Services-Paket wählen, wie im Screenshot # 12 angezeigt. Proxy-Konto sollte wie in Screenshot # 13 .
gezeigt erstellt werden
-
Wenn Sie nun auf den Schritt in SQL Job zurück, sollten Sie die neu erstellte Proxy-Konto in der Ausführen als siehe Auswahl. Siehe Screenshot # 14 .
Ich hoffe, das hilft.
Screenshot # 1:
Screenshot # 2:
Screenshot # 3:
Screenshot # 4:
Screenshot # 5:
Screenshot # 6:
Screenshot # 7:
Screenshot # 8:
Screenshot # 9:
Screenshot # 10:
Screenshot # 11:
Screenshot # 12:
Screenshot # 13:
Screenshot # 14:
Mit 2012 SQL bekam ich einen Fehler, dass das gewählte Benutzerkonto nicht als Proxy erlaubt ist. Verwenden Sie die folgende Abfrage löst dieses Problem:
use msdb
GO
exec sp_grant_login_to_proxy @login_name = 'MyLoginName', @proxy_name= 'proxy_SSIS'