Wie aus der Ferne ein DTSX Paket von Fledermaus-Datei ausführen?
-
03-07-2019 - |
Frage
Ich versuche, mit diesem Befehl ein DTSX Paket aus einer BAT-Datei aus der Ferne ausführen:
DTEXEC /DTS "\File System\MY_PACKAGE_NAME" /SERVER MY_SERVER_NAME /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING V
Dies funktioniert vor Ort in Ordnung, aber Fehler remote (ich Admin-Rechte auf der Maschine habe ich zeigen werde, und ich habe auch SQL-Berechtigungen) Ich bin ein Timeout-Fehler bekommen (Login-Timeout abgelaufen).
Lösung 2
Nachdem ein wenig Forschung sieht es aus wie es unmöglich ist, DTEXEC remote ausgeführt werden (es muss lokal ausgeführt werden - Remote-Ausführung wird nicht unterstützt).
Um diese Einschränkung zu überwinden das folgende Verfahren scheint im Großen und Ganzen umgesetzt werden:
- einen SQL-Job eingerichtet, um das DTSX Paket auszuführen
- eine gespeicherte Prozedur richten Sie den Job ausführen
- isql Kommandozeile in einer BAT-Datei (remote ausgeführt wird) verwenden, um die gespeicherte Prozedur auf der entsprechenden SQL-Instanz (mit SQL-Anmeldeinformationen und nicht Computer-Berechtigungsnachweis) laufen
Andere Tipps
Es ist sehr gut möglich, und so leicht. Es gibt keine Notwendigkeit, einen Speichervorgang zu haben, noch SQL-Agenten oder Web oder .NET-Entwicklung. Ich bin überrascht, dass das Microsoft nie vorgeschlagen:
- Planen Sie eine Aufgabe auf dem SQL Server das DTSX Paket auszuführen. Deaktivieren Sie es, so wird es nicht ausgeführt, bis Sie es manuell von einem entfernten PC ausführen.
- Führen Sie die Aufgabe aus dem PC mit dem Befehl:
schtasks / run / tn MyTask [/ s MySQLServer [/ u [Domäne] Benutzer / p Kennwort]] /?
Hinweis: Wenn Sie das Passwort nicht aussetzt, verwenden Sie den Befehl ‚PSEXEC‘ den ‚schtasks‘ Befehl auszuführen (das kostenlose und leistungsfähiges Werkzeug von http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
SSIS macht auch einen Web-Dienst auf dem Hosting-Server. Sie über Code könnte, eine Maschine für Pakete abzufragen, die Pakete über Datenbank oder Dateisystem ausgeführt und Hinzufügen / Ändern Variablen des Pakets programmatisch über jede Programmierplattform Sie möchten.
Dass gesagt wird Sie auch Ihr Webservice einrichten könnte Ihre lokalen Batch-Datei aufzurufen, die Ihr ‚DETEXEC‘ enthält Befehl.