Create a PowerShell Script Job Step

S’applique à :SQL ServerAzure SQL Managed Instance

Important

Dans Azure SQL Managed Instance, la plupart, mais pas toutes les fonctionnalités SQL Server Agent sont actuellement prises en charge. Pour plus d’informations, consultez Différences T-SQL entre Azure SQL Managed Instance et SQL Server.

Cette rubrique explique comment créer et définir une étape de travail SQL Server Agent qui exécute un script PowerShell dans SQL Server en utilisant SQL Server Management Studio ou Transact-SQL.

Avant de commencer

Sécurité

Pour plus d'informations, consultez Implémenter la sécurité de SQL Server Agent.

Nous sommes à votre écoute : Si vous trouvez des informations obsolètes ou incorrectes dans cet article, par exemple une étape ou une erreur dans un code, n’hésitez pas à nous en faire part. Vous pouvez cliquer sur le bouton Cette page dans la section Commentaires au bas de cette page. Nous lisons chaque commentaire concernant SQL, généralement le jour suivant. Nous vous remercions.

Utilisation de SQL Server Management Studio

Pour créer une étape de travail exécutant un script PowerShell

  1. Dans l’Explorateur d'objets , connectez-vous à une instance du Moteur de base de données SQL Serveret développez-la.

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

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

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

  5. Dans la liste Type , cliquez sur PowerShell.

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

  7. 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. Pour obtenir un exemple de script PowerShell, consultez Utilisation de Transact-SQL ci-dessous.

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

Utilisation de Transact-SQL

Pour créer une étape de travail exécutant un script PowerShell

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.

    -- creates a PowerShell job step that finds the processes
    -- that use more than 1000 MB of memory and kills them  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Kills all processes that use more than 1000 MB of memory',  
        @subsystem = N'PowerShell',  
        @command = N'Get-Process | Where-Object { $_.WS -gt 1000MB } | Stop-Process',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

Pour plus d’informations, consultez sp_add_jobstep (Transact-SQL).

Utilisation de SQL Server Management Objects

Pour créer une étape de travail exécutant un script PowerShell

Utilisez la classe JobStep à l’aide du langage de programmation de votre choix, tel que Visual Basic, Visual C# ou PowerShell.