Voglio eseguire un pacchetto SSIS contenente le attività di trasferimento di oggetti SQL Server. I server coinvolti si trovano nello stesso dominio, ma i servizi di SQL Server sono in esecuzione su account di servizi locali. Quindi l'ambiente si presenta così:
Dominio
Server 1
- SQL Server in esecuzione su un account locale
- Sul filesystem: pacchetto SSIS
- In SQL Server Agent: un lavoro
Server 2
- SQL Server in esecuzione su un account locale
Per poter accedere a entrambi i server, ho creato un account di dominio da utilizzare come account di servizio. Quando utilizzo questo account di dominio per accedere al Server 1 e quindi eseguo il pacchetto dal file system, ogni passaggio ha esito positivo. Tuttavia, quando provo ad aggiungere il lavoro a SQL Server mi imbatto in uno dei seguenti problemi:
Situazione 1. Proprietario del lavoro: account locale; eseguire il passaggio SSIS come proxy per l'account di dominio . Quando imposto il proprietario del lavoro su un account locale, ma eseguo il lavoro come proxy per l'account di dominio, il lavoro stesso verrà eseguito correttamente, ma il pacchetto genera errori come
Esecuzione non riuscita con il seguente errore: "La directory 'LocalApplicationData' non esiste.".
Questo errore può essere corretto creando un accesso con diritti di amministratore per l'utente di dominio sul Server 1, ma questa ovviamente non è una soluzione desiderabile. L'aggiunta dell'account a uno dei gruppi agente / DTS di SQL Server non funziona neanche.
Situazione 2. Proprietario del lavoro: account di dominio; eseguire il passaggio SSIS come proxy per l'account di dominio . Quando imposto sia il proprietario del lavoro sia "Esegui come utente" per il passaggio all'account di dominio, il lavoro non si avvia affatto, con il seguente errore:
Impossibile determinare se il proprietario (utente Dominio \ Dominio) del lavoro
Job name
ha accesso al server (motivo: impossibile ottenere informazioni sul gruppo / utente "Dominio \ Utente" di Windows NT, codice di errore 0x5. [SQLSTATE 42000] (Errore 15404)) .
Credo che l'ultimo errore sia dovuto al fatto che SQL Server viene eseguito su un account locale e pertanto non è possibile esaminare i diritti degli account di dominio.
Qual è il modo giusto per eseguire il lavoro? La situazione 2 mi sembra più pulita, ma sembra impossibile perché SQL Server viene eseguito su un account locale. Anche la situazione 1 funzionerebbe, ma non concederebbe i diritti amministrativi di un utente di dominio sul mio SQL Server.
AGGIORNARE:
@JonSeigel e @ Mr.Brownstone:
Sembra plausibile che questo problema sia dovuto alla mancanza di autorizzazioni. Tuttavia, l'errore riguarda "LocalApplicationData" inesistente, una delle cartelle che viene generata per ciascun account. Ho già effettuato l'accesso al server con le credenziali con cui viene eseguito il pacchetto (con la creazione di una directory del profilo) e ho provato diverse combinazioni di autorizzazioni per la directory del profilo. Anche quando concedo manualmente quasi tutte le autorizzazioni su questa specifica directory, ottengo l'errore sopra menzionato.
Durante ulteriori ricerche, mi sono imbattuto in un thread del forum all'indirizzo http://www.sqlservercentral.com/Forums/Topic391332-148-1.aspx#bm391441 che è abbastanza simile, ma senza soluzione.