Créer une étape de travail de script ActiveX

S’applique à :SQL Server

Le sous-système ActiveX n’est plus disponible à compter de SQL Server 2016. Convertissez toutes les étapes de travail existantes qui utilisent un script ActiveX en une étape de travail de script PowerShell. Utilisez PowerShell pour tout développement futur.

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 Azure SQL Managed Instance à partir de SQL Server.

Cette rubrique explique comment créer et définir une étape de travail de Microsoft SQL Server Agent dans SQL Server 2014 et antérieur qui exécute un script ActiveX avec SQL Server Management Studio, Transact-SQL ou SQL Server Management Objects.

Avant de commencer

Limitations et restrictions

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Sécurité

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

Utilisez SQL Server Management Studio.

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

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

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

  7. Sélectionnez le langage dans lequel le script est écrit. Vous pouvez également cliquer sur Autre , puis taper le nom du langage de script Microsoft ActiveX dans lequel le script va être écrit.

  8. Dans la zone Commande , tapez la syntaxe du script 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.

  9. 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 de script ActiveX

  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.

    -- create an ActiveX Script job step written in VBScript that creates a restore point  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Create a restore point',  
        @subsystem = N'ACTIVESCRIPTING',  
        @command = N'Const RESTORE_POINT = 20  
    
    strComputer = "."  
    Set objWMIService = GetObject("winmgmts:" _  
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default")  
    
    Set objItem = objWMIService.Get("SystemRestore")  
    errResults = objItem.Restore(RESTORE_POINT)',   
        @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 de script ActiveX

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