Partage via


Créer une étape de travail pour un script PowerShell

s’applique à :SQL ServerAzure SQL Managed Instance

Important

Sur Azure SQL Managed Instance, la plupart, mais pas toutes les fonctionnalités de SQL Server Agent sont actuellement prises en charge. Pour plus d’informations, consultez différences T-SQL d’Azure SQL Managed Instance par rapport à 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 à l’aide de SQL Server Management Studio ou de Transact-SQL.

Avant de commencer

Sécurité

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

Nous sommes à l’écoute : Si vous trouvez quelque chose de obsolète ou incorrect dans cet article, tel qu’une étape ou un exemple de code, dites-nous. Vous pouvez cliquer sur le bouton This page dans la section Feedback en bas de cette page. Nous lisons tous les commentaires sur SQL, généralement le lendemain. Merci.

Utilisation de SQL Server Management Studio

Pour créer une étape de travail de script PowerShell

  1. Dans 'Explorateur d’objets, connectez-vous à une instance du moteur de base de données SQL Server, puis développez cette instance.

  2. Développez SQL Server Agent, créez une nouvelle tâche ou cliquez avec le bouton droit sur une tâche existante, 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 section Étapes, puis sur Nouveau.

  4. Dans la boîte de dialogue Nouvelle tâche, tapez un nom d'étape .

  5. Dans la liste Type de, 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, entrez la syntaxe de script PowerShell qui sera exécutée pour l’étape de travail. Vous pouvez également 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 Advanced pour définir les options d’étape de travail suivantes : quelle action effectuer si l’étape de travail réussit ou échoue, combien de fois SQL Server Agent doit essayer d’exécuter l’étape de travail et la fréquence à laquelle les nouvelles tentatives doivent être effectuées.

Utilisation de Transact-SQL

Pour créer une étape de travail de script PowerShell

  1. Dans Explorateur d’objets, connectez-vous à une instance du moteur de base de données.

  2. Dans la barre 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 d’objets de gestion SQL Server

Pour créer une étape de travail de script PowerShell

Utilisez la classe JobStep à l’aide d’un langage de programmation que vous choisissez, tel que Visual Basic, Visual C# ou PowerShell.