Domanda

Sto cercando di eseguire in remoto un pacchetto DTSX da un file bat con questo comando:

DTEXEC /DTS "\File System\MY_PACKAGE_NAME" /SERVER MY_SERVER_NAME /MAXCONCURRENT " -1 " /CHECKPOINTING OFF  /REPORTING V

Funziona bene localmente ma non funziona a distanza (ho i diritti di amministratore sulla macchina a cui sto puntando e ho anche le autorizzazioni SQL) Ricevo un errore di timeout (Timeout di accesso scaduto).

È stato utile?

Soluzione 2

Dopo un po 'di ricerche sembra che sia impossibile eseguire DTEXEC da remoto (deve essere eseguito localmente - l'esecuzione remota non è supportata).

Per superare questa limitazione, il seguente metodo sembra essere ampiamente implementato:

  1. imposta un processo SQL per eseguire il pacchetto DTSX
  2. imposta una Stored Procedure per eseguire il processo
  3. utilizza la riga di comando isql in un file BAT (eseguito in remoto) per eseguire la procedura memorizzata sull'istanza SQL pertinente (con credenziali SQL e non credenziali macchina)

Altri suggerimenti

È molto possibile e così facilmente. Non è necessario disporre di una procedura di archiviazione, né di un agente SQL, né di uno sviluppo Web o .NET. Sono sorpreso che Microsoft non abbia mai suggerito questo:

  1. Pianifica un'attività su SQL Server per eseguire il pacchetto DTSX. Disabilitalo, quindi non funzionerà fino a quando non lo eseguirai manualmente da un PC remoto.
  2. Esegui l'attività dal PC usando il comando:
  

schtasks / run / tn MyTask [/ s MySQLServer [/ u [domain] user / p password]] /?

Nota: se non ti piace esporre la password, usa il comando 'PSEXEC' per eseguire il comando 'schtasks' (scarica lo strumento gratuito e potente da http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

SSIS espone anche un servizio Web sul server di hosting. È possibile tramite codice, richiedere una macchina per pacchetti, eseguire pacchetti tramite database o file system e aggiungere / modificare le variabili del pacchetto a livello di programmazione tramite qualsiasi piattaforma di programmazione che ti piace.

Detto questo, puoi anche configurare il tuo servizio web per chiamare il tuo file batch locale che contiene il tuo comando 'DETEXEC'.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top