Creare un passaggio di processo Script ActiveX

Si applica a:SQL Server

Il sottosistema ActiveX non è più disponibile a partire da SQL Server 2016. Convertire tutti i passaggi di processo esistenti che usano script ActiveX in un passaggio di processo Script PowerShell. Usare PowerShell per progetti di sviluppo futuri.

Importante

In Istanza gestita di SQL di Azure sono attualmente supportate la maggior parte delle funzionalità di SQL Server Agent, ma non tutte. Per informazioni dettagliate, vedere Istanza gestita di SQL di Azure da SQL Server.

Questo argomento descrive come creare e definire un passaggio del processo di Microsoft SQL Server Agent in SQL Server 2014 (o versione precedente) che escluda uno script ActiveX usando SQL Server Management Studio, Transact-SQL o SQL Server Management Objects.

Operazioni preliminari

Limitazioni e restrizioni

Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

Sicurezza

Per informazioni dettagliate, vedere Implementazione della sicurezza di SQL Server Agent.

Usare SQL Server Management Studio

Per creare un passaggio di processo Script ActiveX

  1. In Esplora oggetti connettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.

  2. Espandere SQL Server Agent, creare un nuovo processo oppure fare clic con il pulsante destro del mouse su un processo esistente e quindi scegliere Proprietà. Per ulteriori informazioni sulla creazione di un processo, vedere Creazione di processi.

  3. Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.

  4. Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.

  5. Nell'elenco Tipo fare clic su Script ActiveX.

  6. Nell'elenco Esegui come selezionare l'account proxy con le credenziali che verranno utilizzate dal processo.

  7. Nella casella Linguaggio selezionare il linguaggio in cui è stato scritto lo script. In alternativa, è possibile fare clic su Altro e quindi immettere il nome del linguaggio di scripting Microsoft ActiveX in cui verrà scritto lo script.

  8. Nella casella Comando immettere la sintassi dello script che verrà eseguito per il passaggio di processo. In alternativa, è possibile fare clic su Apri e selezionare un file contenente la sintassi dello script.

  9. Fare clic sulla pagina Avanzate per impostare le opzioni seguenti relative al passaggio di processo: l'azione da eseguire in caso di esito positivo o negativo del passaggio, il numero di tentativi di esecuzione del passaggio che devono essere effettuati da SQL Server Agent e gli intervalli tra tentativi successivi.

Utilizzo di Transact-SQL

Per creare un passaggio del processo di script ActiveX

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

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

Per altre informazioni, vedere sp_add_jobstep (Transact-SQL).

Utilizzo di SQL Server Management Objects

Per creare un passaggio di processo Script ActiveX

Usare la classe JobStep tramite un linguaggio di programmazione come Visual Basic, Visual C# o PowerShell.