Forums Neueste Beiträge
 

SSIS Paket in Trigger (Rechteprobelem?)

05/12/2007 - 09:22 von Horst Köstler | Report spam
Hallo
Vor ein paar Tagen hatte ich ein Problem, in einem Trigger Parameter für
ein SSIS Paket zur Verzeichniserstellung zu übergeben. Nun das ist soweit
gelöst und geht.
Nun ist es so, dass alles sehr gut funktioniert, wenn ich lokal auf den
Server arbeite. Gehe ich aber mit dem Zielverzeichnis auf den Fileserver,
wird das Paket nicht ausgeführt. Muss ich da irgendwelche Rechte setzten?
Auszug aus dem Trigger:
..

set @Rootverzeichnis = 'U:\\2008\\' Das macht Probleme, wenn nicht lokal
set @ID = (SELECT Partner FROM INSERTED)
set @Pname = (SELECT Name FROM Contact WHERE No_ = '' + @ID + '')

set @parameter1 = ' /SET
"\package\Skripttask.Variables[Rootverzeichnis].Value;' + @Rootverzeichnis +
'"'
set @parameter2 = ' /SET "\package\Skripttask.Variables[Pname].Value;' +
@Pname + '"'

set @CMD = 'dtexec /dts ' + '"' + '\File System\Service\Package' + '"' +
@parameter1 + @parameter2
exec xp_cmdshell @CMD

schon mal danke für einen Hinweise

Horst
 

Lesen sie die antworten

#1 Ralf Dietrich
06/12/2007 - 01:44 | Warnen spam
Hallo Horst,

Hallo
Vor ein paar Tagen hatte ich ein Problem, in einem Trigger Parameter für
ein SSIS Paket zur Verzeichniserstellung zu übergeben. Nun das ist
soweit gelöst und geht.
Nun ist es so, dass alles sehr gut funktioniert, wenn ich lokal auf den
Server arbeite. Gehe ich aber mit dem Zielverzeichnis auf den Fileserver,
wird das Paket nicht ausgeführt. Muss ich da irgendwelche Rechte setzten?
Auszug aus dem Trigger:
..
set @Rootverzeichnis = 'U:\\2008\\' Das macht Probleme, wenn nicht lokal
set @ID = (SELECT Partner FROM INSERTED)
set @Pname = (SELECT Name FROM Contact WHERE No_ = '' + @ID + '')
set @parameter1 = ' /SET
"\package\Skripttask.Variables[Rootverzeichnis].Value;' +
@Rootverzeichnis +
'"'
set @parameter2 = ' /SET "\package\Skripttask.Variables[Pname].Value;'
+
@Pname + '"'
set @CMD = 'dtexec /dts ' + '"' + '\File System\Service\Package' + '"'
+
@parameter1 + @parameter2
exec xp_cmdshell @CMD
schon mal danke für einen Hinweise

Horst




= = ich will Dir nicht unbedingt in das Design deiner Lösung reinreden - aber -
SSIS-Pakete innerhalb eines Triggers zu starten, würde ich weitestgehend
vermeiden!
= =
Wenn Du "nur" ein Verzeichnis erstellen willst, tut es in der Regel auch
der alter Befehl "md" für "make dir"

Natürlich benötigt der Account auf dem (Remote-)Fileserver Rechte.
ist es ein SQL-Login musst Du ein Account-Mapping vornehmen (Credentials
unter Security)
Evtl. benötigst Du auch einen Proxy Account
Ist es ein Windows Login muss er berechtigt sein (und im Zweifelsfall über
Kerberos-Authentifizierung ud Delegierung weitergereicht werden können)
ist es ein sysadmin-Berechtiger (igitt-igitt) dann müssen die Rechten für
den SQL Service Account vorliegen
(làuft also nicht, wenn dieser mit "local system" startet)
Daneben benötigt evtl. auch noch das SSIS-Paket eigene Rechte, um auf dem
Remoteserver rumzuwerkeln

Wahlweise kannst du das ganze auch mit einer .net-Assembly mit "External
Access" durchführen (und benötigst auch dort wieder Berechtigungen - extern
access-Assemblies aufrufen zu dürfen ...

Ralf

SQLServer - Usergroup für Newbies und Jedies auch in Deiner Nàhe:
http://www.sqlpass.de --> Regionalgruppe

Ähnliche fragen