sp_add_jobserver (Transact-SQL)

Si applica a:SQL Server

Indirizza il processo specificato al server specificato.

Convenzioni di sintassi Transact-SQL

Sintassi

sp_add_jobserver
    [ @job_id = ] job_id
        | [ @job_name = ] 'job_name'
    [ , [ @server_name = ] 'server' ]
[ ; ]

Argomenti

[ @job_id = ] job_id

Numero di identificazione del processo. job_id è uniqueidentifier, con un valore predefinito .NULL

È necessario specificare @job_id o @job_name , ma non è possibile specificare entrambi.

[ @job_name = ] 'job_name'

Il nome del processo. job_name è sysname, con il valore predefinito NULL.

È necessario specificare @job_id o @job_name , ma non è possibile specificare entrambi.

[ @server_name = ] N'server'

Nome del server a cui indirizzare il processo. @server_name è nvarchar(30), con il valore predefinito (LOCAL). @server_name può essere (LOCAL) per un server locale o il nome di un server di destinazione esistente.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

Nessuno.

Osservazioni:

@automatic_post esiste in sp_add_jobserver, ma non è elencato in Argomenti. @automatic_post è riservato per uso interno.

SQL Server Management Studio include un semplice strumento grafico per la gestione dei processi ed è lo strumento consigliato per la creazione e gestione dell'infrastruttura dei processi.

Autorizzazioni

Questa stored procedure è di proprietà del ruolo db_owner . È possibile concedere EXECUTE autorizzazioni per qualsiasi utente, ma queste autorizzazioni possono essere sottoposte a override durante un aggiornamento di SQL Server.

È necessario concedere ad altri utenti uno dei ruoli predefiniti del database di SQL Server Agent seguenti:msdb

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Per informazioni dettagliate sulle autorizzazioni di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.

Solo i membri del ruolo predefinito del server sysadmin possono essere eseguiti sp_add_jobserver per i processi che coinvolgono più server.

Esempi

R. Assegnare un processo al server locale

Nell'esempio seguente viene assegnato il processo NightlyBackups da eseguire nel server locale.

Nota

In questo esempio si presuppone che il processo NightlyBackups esista già.

USE msdb;
GO

EXEC dbo.sp_add_jobserver @job_name = N'NightlyBackups';
GO

B. Assegnare un processo da eseguire in un server diverso

Nell'esempio seguente il processo multiserver Weekly Sales Backups viene assegnato al server SEATTLE2.

Nota

In questo esempio si presuppone che il processo Weekly Sales Backups esista già e che SEATTLE2 sia registrato come server di destinazione per l'istanza corrente.

USE msdb;
GO

EXEC dbo.sp_add_jobserver @job_name = N'Weekly Sales Backups',
    @server_name = N'SEATTLE2';
GO