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.

  1. Avant de commencer : Limitations et restrictions

  2. Pour exécuter PowerShell à partir de SQL Server Agent, à l'aide de : Étape de travail PowerShell, Étape de travail d'invite de commandes

Avant de commencer

Il y a plusieurs types d'étapes de travail de l'Agent SQL Server. 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 l'Agent SQL Server 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.

  1. Utilisez une étape du travail PowerShell pour que le sous-système de l'Agent SQL Server exécute l'utilitaire sqlps, qui lance PowerShell 2.0 et importe le module sqlps.

  2. 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

AttentionAttention

Chaque étape de travail de l'Agent SQL Server qui exécute PowerShell avec le module sqlps 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.

[Haut de la page]

Créer une étape de travail PowerShell

Pour créer une étape de travail PowerShell

  1. 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.

  2. Dans la boîte de dialogue Propriétés du travail, cliquez sur la page Étapes, puis sur Nouveau.

  3. Dans la boîte de dialogue Nouvelle étape du travail, tapez le Nom de l'étape de travail.

  4. Dans la liste Type, cliquez sur PowerShell.

  5. Dans la liste Exécuter en tant que, sélectionnez le compte proxy avec les informations d'identification que le travail utilisera.

  6. 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.

  7. 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.

[Haut de la page]

Créer une étape de travail d'invite de commandes

Pour créer une étape de travail CmdExec

  1. 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.

  2. Dans la boîte de dialogue Propriétés du travail, cliquez sur la page Étapes, puis sur Nouveau.

  3. Dans la boîte de dialogue Nouvelle étape du travail, tapez un nom d'étape de travail.

  4. Dans la liste Type, choisissez Système d'exploitation (CmdExec).

  5. 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.

  6. Dans la zone Traiter le code de sortie d'une commande réussie, entrez une valeur comprise entre 0 et 999999.

  7. Dans la zone Commande, entrez powershell.exe avec des paramètres spécifiant le script PowerShell à exécuter.

  8. Cliquez sur la page Avancé pour définir les options d'étape de travail, telles que l'action à exécuter lorsque l'étape de travail aboutit ou échoue, le nombre de tentatives d'exécution de l'étape de travail que doit effectuer l'Agent SQL Server et le fichier où SQL Server peut écrire la sortie de l'étape de travail. Seuls les membres du rôle fixe sysadmin peuvent écrire la sortie d'étape de travail dans un fichier du système d'exploitation.

[Haut de la page]

Voir aussi

Concepts

SQL Server PowerShell