Compartir a través de


Creación de un paso de trabajo de script de PowerShell

se aplica a:SQL Serverazure SQL Managed Instance

Importante

En Instancia administrada de Azure SQL, actualmente se admiten la mayoría, pero no todas, las funcionalidades del Agente SQL Server. Consulte diferencias de T-SQL de Azure SQL Managed Instance con respecto a 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 ejecuta un script de PowerShell en SQL Server mediante SQL Server Management Studio o Transact-SQL.

Antes de empezar

Seguridad

Para obtener información detallada, consulte Implementación de la seguridad del Agente SQL Server.

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

Uso de SQL Server Management Studio

Para crear una etapa de trabajo de script de PowerShell

  1. En Explorador de objetos, conecta a una instancia del motor de base de datos de SQL Server y, a continuación, expande esa instancia.

  2. Expanda Agente SQL Server, cree un nuevo trabajo o haga clic con el botón derecho en un trabajo existente y, a continuación, haga clic en Propiedades. Para obtener más información sobre cómo crear un trabajo, vea Creación de 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 trabajo Nombre del paso.

  5. En la lista de tipo , haga clic en PowerShell.

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

  7. En el cuadro de comandos , escriba la sintaxis del script de PowerShell que se ejecutará para la etapa de trabajo. Como alternativa, haga clic en Abrir y seleccione un archivo que contenga la sintaxis del script. Para obtener un ejemplo de un script de PowerShell, consulte Uso de Transact-SQL a continuación.

  8. Haga clic en la página de Avanzadas para establecer las siguientes opciones de paso de trabajo: qué acción realizar si el paso de trabajo se realiza correctamente o produce un error, cuántas veces el Agente SQL Server debe intentar ejecutar el paso de trabajo y con qué frecuencia se deben realizar reintentos.

Uso de Transact-SQL

Para crear un paso de trabajo de un script de PowerShell

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

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

  3. Copie y pegue el ejemplo siguiente 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 obtener más información, vea sp_add_jobstep (Transact-SQL).

Uso de objetos de administración de SQL Server

Para crear un paso de trabajo de script de PowerShell

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