Utiliser Windows PowerShell dans les étapes de travail de l'Agent SQL Server
Utilisez SQL Server Agent pour exécuter des scripts PowerShell SQL Server à des horaires planifiés.
Avant de commencer : Limitations et restrictions
Pour exécuter PowerShell à partir de SQL Server Agent, à l’aide de l’étape de travail PowerShell, étape de travail d’invite de commandes
Avant de commencer
Il y a plusieurs types d'étapes de travail SQL Server Agent. Chaque type est associé à un sous-système qui implémente un environnement spécifique, tel qu'un agent de réplication ou un environnement d'invite de commandes. Vous pouvez coder les scripts Windows PowerShell, puis utiliser SQL Server Agent pour les inclure dans les travaux qui s'exécutent à des heures planifiées ou en réponse à des événements SQL Server. Les scripts Windows PowerShell peuvent être exécutés à l'aide d'une étape de travail d'invite de commandes ou d'une étape de travail PowerShell.
Utilisez une étape de travail PowerShell pour que le sous-système sql Server Agent exécute l’utilitaire
sqlps
, qui lance PowerShell 2.0 et importe lesqlps
module.Utilisez une étape du travail d'invite de commandes pour exécuter PowerShell.exe et spécifiez un script qui importe le module
sqlps
.
Limitations et restrictions
Attention
Chaque étape de travail de SQL Server Agent qui exécute PowerShell avec le sqlps
module lance un processus qui consomme environ 20 Mo de mémoire. L'exécution simultanée d'un grand nombre d'étapes de travail Windows PowerShell peut nuire aux performances.
Créer une étape de travail PowerShell
Pour créer une étape de travail PowerShell
Développez SQL Server Agent, créez un travail ou cliquez avec le bouton droit de la souris sur un travail existant, puis cliquez sur Propriétés. Pour plus d'informations sur la création d'un travail, consultez Création de travaux.
Dans la boîte de dialogue Propriétés du travail , cliquez sur la page Étapes , puis sur Nouveau.
Dans la boîte de dialogue Nouvelle étape du travail , tapez un nom d'étapede travail.
Dans la liste Type , cliquez sur PowerShell.
Dans la liste Exécuter en tant que , sélectionnez le compte proxy avec les informations d'identification que le travail utilisera.
Dans la zone Commande , tapez la syntaxe du script PowerShell qui sera exécuté pour l'étape de travail. Vous pouvez aussi cliquer sur Ouvrir et sélectionner un fichier contenant la syntaxe du script.
Cliquez sur la page Avancé pour paramétrer les options suivantes pour l'étape de travail : l'action à exécuter si l'étape de travail échoue ou réussit, le nombre de tentatives d'exécution de l'étape de travail que doit effectuer l'Agent SQL Server et la fréquence de ces tentatives.
Créer une étape de travail d'invite de commandes
Pour créer une étape de travail CmdExec
Développez SQL Server Agent, créez un travail ou cliquez avec le bouton droit de la souris sur un travail existant, puis cliquez sur Propriétés. Pour plus d'informations sur la création d'un travail, consultez Création de travaux.
Dans la boîte de dialogue Propriétés du travail , cliquez sur la page Étapes , puis sur Nouveau.
Dans la boîte de dialogue Nouvelle étape du travail , tapez un nom d'étapede travail.
Dans la liste Type , choisissez Système d’exploitation (CmdExec) .
Dans la liste Exécuter en tant que , sélectionnez le compte proxy avec les informations d'identification que doit utiliser le travail. Par défaut, les étapes de travail CmdExec s'exécutent dans le contexte du compte de service SQL Server Agent.
Dans la zone Traiter le code de sortie d'une commande réussie , entrez une valeur comprise entre 0 et 999999.
Dans la zone Commande , entrez powershell.exe avec des paramètres spécifiant le script PowerShell à exécuter.
Cliquez sur la page Avancé pour définir les options d’étape de travail, comme l’action à exécuter quand l’étape de travail aboutit ou échoue, le nombre de tentatives d’exécution de l’étape de travail que doit effectuer SQL Server Agent et le fichier dans lequel SQL Server Agent peut écrire la sortie de l’étape de travail. Seuls les membres du rôle de serveur fixe sysadmin peuvent écrire une sortie d'étape de travail dans un fichier du système d'exploitation.