2016-05-09 3 views
1

Ich versuche, das Ausführen als Wert für jede der Arbeitsschritte innerhalb der einzelnen SQL-Agent-Auftrag auf SQL Server 2012.Der Versuch, Ausführen als Wert für SQL Server Job zu erhalten Schritte

Dies ist offensichtlich nicht der Login zu erhalten Wert (sysjobsteps.database_user_name), da es nicht dem ausgewählten Wert von Run As entspricht.

Beispiel: Job MP Backup verfügt über einen Schritt Subplan_1, der durch Speichern eines Wartungsplans zum Ausführen von Datenbanksicherungen generiert wurde.

(Randnotiz: MPs für Backups verwendet, ist ein anderes Gespräch ...)

die Job-Step Immobilien in SSMS für diesen Schritt Öffnen zeigt SQL Server-Agent-Dienstkonto in dem Ausführen als Dropdown-Menü.

Dies ist der Wert, den ich suche, aber hat sich als schwer zu lokalisieren erwiesen.

Das Verbinden von sysjobsteps mit Sysproxys führt zu NULL-Werten für sysprosystems.name, was nicht verwunderlich ist, da für die Schritte in beliebigen Jobs keine Proxies verwendet wurden.

Ich vermute, ich übersehe einfach etwas, weiß aber nicht wo ich sonst hinschauen soll.

Antwort

0

Für SSIS-Arbeitsschritte ist es die Spalte ProxyID. Dies ist wahrscheinlich jetzt NULL für Sie, weil "SQL Server Agent Service Account" der Standardwert ist.

+0

Ich versuche zu verstehen, wie das funktioniert; schlagen Sie vor, dass der Wert von NULL automatisch in SQL Server-Agent-Dienstkonto übersetzt wird? NULL erscheint auch für andere Schritttypen, z.B. Transact-SQL (T-SQL) und Betriebssystem (CmdExec), um zwei zu nennen. – pgdba

+0

Ja, bei SSIS-Schritttypen bedeutet ProxyID = NULL, dass der Schritt Als SQL Server-Agent-Dienstkonto ausgeführt wird. Ich bin nicht sicher über die anderen Schritttypen, T-SQL-Schritte standardmäßig auf den Besitzer des Jobs, glaube ich. – RBarryYoung

Verwandte Themen