Warum kann ein Paket, das auf dtexec ordnungsgemäß ausgeführt wird, nicht unter dem SQL Server-Agent-Job ausgeführt werden?

8

Ich habe ein Paket auf dem lokalen Laufwerk C: Wenn ich es als Teil eines SQL-Agentenjobs ausführe, schlägt es fehl:

%Vor%

Wenn ich jedoch die Befehlszeile aus dem Jobschritt "SQL Agent" kopieren und mit DTExec.exe ausführen, ist Folgendes erfolgreich:

%Vor%

Was kann ich versuchen, es im Jobschritt zu beheben? Ist ein Jobstep vom Typ commandshell der richtige Weg nach vorne?

    
Yulia V 20.02.2013, 17:58
quelle

4 Antworten

8

Ich glaube, Sie haben ein Berechtigungsproblem. Wenn Sie sich das von Ihnen gepostete Protokoll anschauen, Failed to open package file "C:\MyFolder\Package.dtsx" due to error 0x80070003 "The system cannot find the path specified."

Was bedeutet das?

Das Konto, auf dem SQL Agent ausgeführt wird, hat keinen Zugriff auf C: \ MyFolder.

Auflösung

Sie müssen diesem Konto möglicherweise ein Dateisystem zuweisen. Oder Sie können eine autorisierte Berechtigung erstellen und den Jobschritt ändern, um dieses Konto zu verwenden.

    
billinkc 20.02.2013, 18:02
quelle
1

Es ist Sicherheitsproblem Verschieben Sie Ihren Ordner von c auf ein anderes Laufwerk oder ändern Sie die Sicherheitseinstellung des Ordners.

    
Sharmaji TM 08.05.2014 07:37
quelle
1

Fügen Sie am Ende die \ Dateioption ein:

%Vor%     
Rao 25.08.2015 17:46
quelle
1

Öffnen Sie das Paket erneut in BIDS und überprüfen Sie die Konfigurationen sowie die Verbindungszeichenfolgen für die Datenbank usw. ... und wählen Sie bei der Bereitstellung die Option "Konfigurationen aktivieren".

    
user7827067 06.04.2017 13:12
quelle

Tags und Links