sp_start_job (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

Indica a Agente SQL Server que ejecute un trabajo inmediatamente.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_start_job
    [ [ @job_name = ] N'job_name' ]
    [ , [ @job_id = ] 'job_id' ]
    [ , [ @error_flag = ] error_flag ]
    [ , [ @server_name = ] N'server_name' ]
    [ , [ @step_name = ] N'step_name' ]
    [ , [ @output_flag = ] output_flag ]
[ ; ]

Argumentos

[ @job_name = ] N'job_name'

Nombre del trabajo que se va a iniciar. @job_name es sysname, con un valor predeterminado de NULL.

Se deben especificar @job_id o @job_name , pero no se pueden especificar ambos.

[ @job_id = ] 'job_id'

Número de identificación del trabajo que se va a iniciar. @job_id es uniqueidentifier, con un valor predeterminado de NULL.

Se deben especificar @job_id o @job_name , pero no se pueden especificar ambos.

[ @error_flag = ] error_flag

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

[ @server_name = ] N'server_name'

Servidor de destino en el que se va a iniciar el trabajo. @server_name es sysname, con un valor predeterminado de NULL. @server_name debe ser uno de los servidores de destino a los que está destinado actualmente el trabajo.

[ @step_name = ] N'step_name'

Nombre del paso en el que se iniciará la ejecución del trabajo. @step_name es sysname, con un valor predeterminado de NULL. Solo se aplica a trabajos locales.

[ @output_flag = ] output_flag

Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Ninguno.

Comentarios

Este procedimiento almacenado se encuentra en la msdb base de datos.

Este procedimiento almacenado comparte el nombre de sp_start_job con un objeto similar para el servicio Trabajos elásticos de Azure para Azure SQL Database. Para obtener información sobre la versión de trabajos elásticos, consulte jobs.sp_start_job (Trabajos elásticos de Azure) (Transact-SQL).

Este procedimiento almacenado es propiedad del rol db_owner . Puede conceder EXECUTE permisos para cualquier usuario, pero estos permisos se pueden invalidar durante una actualización de SQL Server.

A otros usuarios se les debe conceder uno de los siguientes Agente SQL Server roles fijos de base de datos en la msdb base de datos:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Para detalles sobre los permisos de estos roles, consulte Roles fijos de base de datos del Agente SQL Server.

Los miembros de SQLAgentUserRole y SQLAgentReaderRole solo pueden iniciar trabajos que poseen. Los miembros de SQLAgentOperatorRole pueden iniciar todos los trabajos locales, incluidos los trabajos que pertenecen a otros usuarios. Los miembros de sysadmin pueden iniciar todos los trabajos locales y multiservidor.

Ejemplos

En el siguiente ejemplo se inicia un trabajo llamado Weekly Sales Data Backup.

USE msdb;
GO

EXEC dbo.sp_start_job N'Weekly Sales Data Backup';
GO