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?
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.
-
allez à SQL Server Management Studio. Développez
SQL Server Agent
et cliquez avec le bouton droit de la souris sur Jobs, puis sélectionnezNew Job...
comme indiqué sur la capture d'écran # 1 . -
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 .
-
dans la section Étapes, cliquez sur
New...
comme le montre la capture d'écran # 3 . -
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 sousSQL Agent Service Account
par défaut. Sélectionnez la source du paquet commeFile 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 sousSQL Agent Service Account
, ensuite, référez les étapes # 8 - 9 pour savoir comment vous pouvez utiliser un compte différent. -
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 .
-
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.
-
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 . -
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 . -
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 . -
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 . -
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 .
-
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:
Capture d'écran #2:
Capture d'écran #3:
Capture d'écran #4:
Capture d'écran #5:
Capture d'écran #6:
Capture d'écran #7:
Capture d'écran n ° 8:
Capture d'écran n ° 9:
Capture d'écran #10:
Capture d'écran #11:
Capture d'écran n ° 12:
Capture d'écran n ° 13:
Capture d'écran #14:
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.