Compartir a través de


Create a PowerShell Script Job Step

Se aplica a: SQL Server Azure SQL Managed Instance

Importante

En Azure SQL Managed Instance, actualmente son compatibles la mayoría de las características del Agente SQL Server. Consulte Diferencias entre T-SQL de Azure SQL Managed Instance y SQL Server para más información.

En este tema se describe cómo crear y definir un paso de trabajo del Agente SQL Server que ejecute un script de PowerShell en SQL Server mediante SQL Server Management Studio o Transact-SQL.

Antes de empezar

Seguridad

Para obtener información detallada, vea Implementar la seguridad del Agente SQL Server.

Le escuchamos: Si encuentra algo obsoleto o incorrecto en este artículo, como un paso o un ejemplo de código, indíquenoslo. Puede hacer clic en el botón Esta página situado en la sección Comentarios en la parte inferior de esta página. Leemos todos los elementos de comentarios sobre SQL, normalmente el día siguiente. Gracias.

Uso de SQL Server Management Studio

Para crear un paso de trabajo para script de PowerShell

  1. En el Explorador de objetos , conéctese a una instancia de Motor de base de datos de SQL Servery, después, expándala.

  2. Expanda el Agente SQL Server, cree un trabajo o haga clic con el botón derecho en uno existente y, después, haga clic en Propiedades. Para obtener más información acerca de la creación de un trabajo, vea Crear trabajos.

  3. En el cuadro de diálogo Propiedades del trabajo , haga clic en la página Pasos y, a continuación, haga clic en Nuevo.

  4. En el cuadro de diálogo Nuevo paso de trabajo , escriba un nombre para el paso de trabajo en Nombre del paso.

  5. En la lista Tipo , haga clic en PowerShell.

  6. En la lista Ejecutar como , seleccione la cuenta de proxy con las credenciales que utilizará el trabajo.

  7. En el cuadro Comando , especifique la sintaxis del script de PowerShell que se ejecutará para el paso de trabajo. También puede hacer clic en Abrir y seleccionar un archivo que contenga la sintaxis del script. Para un ejemplo de un script de PowerShell, consulte Usar Transact-SQL más adelante.

  8. Haga clic en la página Avanzadas para establecer las siguientes opciones de paso de trabajo: acción que se llevará a cabo si el paso de trabajo progresa o no, número de veces que el Agente SQL Server debe intentar ejecutar el paso de trabajo y frecuencia de los intentos.

Usar Transact-SQL

Para crear un paso de trabajo para script de PowerShell

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.

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

Para más información, consulte sp_add_jobstep (Transact-SQL).

Usar Objetos de administración de SQL Server

Para crear un paso de trabajo para script de PowerShell

Use la clase JobStep mediante un lenguaje de programación de su elección, como Visual Basic, Visual C# o PowerShell.