Partager via


Créer une étape de travail de script PowerShell

s’applique à :SQL ServerAzure SQL Managed Instance

Importante

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 ou Limitations des travaux SQL Agent dans SQL Managed instance.

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 Implémenter la sécurité de SQL Server Agent.

Utilisation de SQL Server Management Studio

Pour créer une étape de travail exécutant un 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 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, 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 exécutant un 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 script PowerShell pour une tâche

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