Comment créer une étape dans mon travail D'Agent SQL Server qui exécutera mon paquet SSIS?

j'essaie de créer un travail automatisé pour L'Agent SQL Server à exécuter. Le travail est censé exécuter mon paquet SSIS.

Voici ce que j'ai jusqu'à présent:

EXEC sp_add_job @job_name = 'My Job'
            ,@description = 'My First SSIS Job'
            ,@job_id = @jobid OUTPUT

EXEC sp_add_jobstep @job_id =@jobid
                    ,@step_name = N'Upload Data'
                    ,@step_id = 1
                    ,@command=N'/FILE "D:InstallsUpload.dtsx"'
EXEC sp_add_jobstep @job_id = @jobid
                    ,@step_name = N'Download Data'
                    ,@step_id = 2
                    ,@command=N'/FILE "D:InstallsDownload.dtsx"'

malheureusement quand j'exécute ceci, je reçois une erreur disant

syntaxe incorrecte near ' / '

je soupçonne qu'il se plaint du /FILE à mon commandement.

Je ne trouve pas documentation sur la syntaxe appropriée à utiliser dans @command anywhere -- j'ai tiré /FILE d'un vieux code que j'ai trouvé quelque part. Quelle est la syntaxe correcte pour exécuter un paquet SSIS dans une tâche?

25
demandé sur marc_s 2011-07-16 00:30:16

2 réponses

j'ai lancé le script SQL dans la question mais je n'ai pas rencontré d'erreurs. Donc, je ne suis pas sûr de ce qui cause l'erreur dans votre cas. Cependant, si vous avez accès à SQL Server Agent via SQL Server Management Studio. Voici les étapes pour créer une tâche à l'aide de l'Interface Utilisateur Graphique.

  1. allez à SQL Server Management Studio. Développez SQL Server Agent et cliquez avec le bouton droit de la souris sur Jobs, puis sélectionnez New Job... comme indiqué sur la capture d'écran # 1 .

  2. fournir un nom et propriétaire par défaut sera le compte qui crée l'emploi, mais vous pouvez le changer en fonction de vos exigences. Assignez une catégorie si vous le souhaitez et fournissez également une description. Voir la capture d'écran # 2 .

  3. dans la section Étapes, cliquez sur New... comme le montre la capture d'écran # 3 .

  4. dans la boîte de dialogue new Job Step, donnez un nom d'étape. Sélectionnez SQL Server Inegration Services Package à partir du Type. Cette étape s'exécute sous SQL Agent Service Account par défaut. Sélectionnez la source du paquet comme File system et parcourez le chemin du paquet en cliquant sur ellipsis. Cela remplira le chemin du paquet. Consultez la capture d'écran # 4 . Si vous ne voulez pas que l'étape s'exécute sous SQL Agent Service Account , ensuite, référez les étapes # 8 - 9 pour savoir comment vous pouvez utiliser un compte différent.

  5. si vous avez un fichier de configuration SSIS (.dtsConfig) pour le paquet, cliquez sur L'onglet Configurations et ajoutez le fichier de Configuration comme indiqué dans la capture d'écran # 5 .

  6. cliquez sur OK et il y a le paquet à l'étape 1 comme indiqué sur la capture d'écran # 6 . De même, vous pouvez créer différentes étapes.

  7. une fois que l'emploi a été créé, vous pouvez cliquer avec le bouton droit de la souris sur l'emploi et sélectionner Script Job as --> CREATE To --> New Query Editor Window pour générer le script comme indiqué sur la capture d'écran # 7 .

  8. pour exécuter L'étape SSIS sous un compte différent, sur le studio de gestion, naviguer à Security --> right-click on Cedentials --> select New Credential... comme indiqué dans la capture d'écran # 8 .

  9. dans la boîte de dialogue New Credential , fournissez un nom D'Identification, un compte Windows et un mot de passe sous lesquels vous souhaitez exécuter les étapes SSIS dans les tâches SQL. Voir la capture d'écran # 9 . Les justificatifs d'identité seront créés comme indiqué dans la capture d'écran # 10 .

  10. Ensuite, nous devons créer un proxy. Sur le studio de gestion, naviguez vers SQL Server Agent --> Proxies --> right-click on SSIS Package Execution --> select New Proxy... comme montré dans la capture d'écran # 11 .

  11. sur la nouvelle fenêtre de Compte Proxy, fournir un nom Proxy, sélectionner le nouveau justificatif d'identité créé, fournir une description et sélectionner le paquet services D'intégration de serveur SQL comme indiqué sur la capture d'écran # 12 . Le compte Proxy doit être créé comme indiqué dans la capture d'écran # 13 .

  12. maintenant, si vous retournez à l'étape dans le travail SQL, vous devriez voir le compte Proxy nouvellement créé dans le courir comme baisse vers le bas. Consultez la capture d'écran # 14 .

Espère que ça aide.

Capture d'écran #1:

1

Capture d'écran #2:

2

Capture d'écran #3:

3

Capture d'écran #4:

4

Capture d'écran #5:

5

Capture d'écran #6:

6

Capture d'écran #7:

7

Capture d'écran n ° 8:

8

Capture d'écran n ° 9:

9

Capture d'écran #10:

10

Capture d'écran #11:

11

Capture d'écran n ° 12:

12

Capture d'écran n ° 13:

13

Capture d'écran #14:

14

70
répondu 2011-07-15 21:42:07

si vous construisez le travail en utilisant le sp_add... procs, je pense que vous devez définir explicitement le sous-système appelé, la

EXEC sp_add_jobstep @job_id = @jobid,
@step_name = N'Upload Data',
@step_id = 1,
@subsystem = 'DTS',
@command=N'/FILE "D:\Installs\Upload.dtsx"'

c'est l'équivalent de la capture d'écran #4 de @Siva 'Type'='paquet de services D'intégration de Serveur SQL'.

Voir ce article MSDN pour la liste complète des sous-systèmes.

EDIT : 'TSQL' est la valeur par défaut, donc votre configuration actuelle est essayer d'exécuter ' / FILE "D:\Installs\Upload.dtsx" " comme une commande T-SQL.

9
répondu DaveE 2011-07-15 22:33:35