Come pianificare l'esecuzione del pacchetto SSIS come qualcosa di diverso dall'account del servizio SQL Agent

StackOverflow https://stackoverflow.com/questions/812428

Domanda

In SQL Server 2005 è possibile pianificare un pacchetto SSIS per eseguire qualcosa di diverso dall'account del servizio SQL Agent?

Ho un pacchetto SSIS che stabilisce una connessione a un database ed esegue una procedura memorizzata. Il mio criterio è che non specificherò nomi utente / password in un pacchetto o nella configurazione del pacchetto, quindi desidero utilizzare l'autenticazione integrata.

Il problema è che per impostazione predefinita un passaggio in un processo viene eseguito come account del servizio SQL Agent e il nostro gruppo di server non desidera concedere a quell'account i diritti di esecuzione sulle procedure memorizzate che verranno eseguite dal mio pacchetto. Quindi stiamo cercando di trovare un modo per specificare un account diverso nel passaggio, quindi il pacchetto verrà eseguito in un contesto diverso. È possibile?

È stato utile?

Soluzione

Se si desidera eseguire il pacchetto SSIS dai lavori di Agente SQL, è possibile creare un proxy. Controllare qui per ulteriori informazioni.

Altri suggerimenti

Se si ha accesso a Agente SQL Server tramite SQL Server Management Studio, ecco i passaggi per creare un lavoro utilizzando l'interfaccia utente grafica. I passaggi mostrano come creare un processo SQL per eseguire SSIS utilizzando l'account del servizio SQL Agent e anche come creare un proxy da eseguire con un diverso utilizzando credenziali diverse.

  1. Vai a SQL Server Management Studio. Espandi Agente SQL Server e fai clic con il pulsante destro del mouse su Lavori, quindi seleziona Nuovo lavoro ... come mostrato nello screenshot # 1 .

  2. Fornire un nome e il proprietario per impostazione predefinita sarà l'account che crea il lavoro, ma è possibile modificarlo in base alle proprie esigenze. Assegna una categoria se desideri e fornisci anche una descrizione. Fai riferimento allo screenshot # 2 .

  3. Nella sezione Passaggi, fai clic su Nuovo ... come mostrato nello screenshot # 3 .

  4. Nella finestra di dialogo Nuovo passaggio di processo, fornire un nome di passaggio. Selezionare Pacchetto SQL Server Inegration Services da Tipo. Questo passaggio verrà eseguito in Account servizio SQL Agent per impostazione predefinita. Seleziona l'origine del pacchetto come File system e cerca il percorso del pacchetto facendo clic sui puntini di sospensione. Questo popolerà il percorso del pacchetto. Fai riferimento allo screenshot # 4 . Se non desideri che il passaggio venga eseguito in Account del servizio SQL Agent , fai riferimento ai passaggi # 8 - 9 per sapere come utilizzare un altro account.

  5. Se si dispone di un file di configurazione SSIS (.dtsConfig) per il pacchetto, fare clic sulla scheda Configurazioni e aggiungere il file di configurazione come mostrato nello screenshot # 5 .

  6. Fai clic su OK e c'è il pacchetto nel passaggio 1 come mostrato nello screenshot # 6 . Allo stesso modo, puoi creare diversi passaggi.

  7. Dopo aver creato il lavoro, puoi fare clic con il pulsante destro del mouse sul lavoro e selezionare Lavoro script come - > CREA A - > Nuova finestra dell'editor di query per generare lo script come mostrato nello screenshot # 7 .

  8. Per eseguire il passaggio SSIS con un altro account, su Management Studio, vai a Sicurezza - > fai clic con il tasto destro su Cedentials - > seleziona Nuova credenziale ... come mostrato nello screenshot # 8 .

  9. Nella finestra di dialogo New Credential , fornire un nome credenziali, un account Windows e una password con i quali si desidera eseguire i passaggi SSIS nei lavori SQL. Fai riferimento allo screenshot # 9 . Le credenziali verranno create come mostrato nello screenshot # 10 .

  10. Successivamente, dobbiamo creare un proxy. In Management Studio, seleziona Agente SQL Server - > Proxy - > fai clic con il tasto destro del mouse su Esecuzione pacchetto SSIS - > seleziona Nuovo proxy ... come mostrato nello screenshot # 11 .

  11. Nella finestra Nuovo account proxy, fornire un nome proxy, selezionare le credenziali appena create, fornire una descrizione e selezionare il pacchetto SQL Server Integration Services come mostrato nello screenshot # 12 . L'account proxy deve essere creato come mostrato nello screenshot # 13 .

  12. Ora, se torni al passaggio nel processo SQL, dovresti vedere l'account Proxy appena creato nel menu a discesa Esegui come . Fai riferimento allo screenshot # 14 .

Spero che sia d'aiuto.

Schermata n. 1:

1

Schermata n. 2:

2

Schermata n. 3:

3

Schermata n. 4:

4

Schermata n. 5:

5

Schermata n. 6:

6

Schermata n. 7:

7

Schermata n. 8:

8

Schermata n. 9:

9

Schermata n. 10:

10

Schermata n. 11:

11

Schermata n. 12:

12

Schermata n. 13:

13

Schermata n. 14:

14

Con SQL 2012 ho riscontrato che l'account utente scelto non è autorizzato a essere un proxy. L'uso della seguente query ha risolto questo problema:

use msdb
GO
exec sp_grant_login_to_proxy @login_name = 'MyLoginName', @proxy_name= 'proxy_SSIS'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top