sp_update_job (Transact-SQL)

Dotyczy:SQL ServerAzure SQL Managed Instance

Aktualizuje atrybuty istniejącego zadania utworzonego w usłudze SQL Server Agent.

Transact-SQL konwencje składni

Składnia

dbo.sp_update_job
    { [ @job_id = ] 'job_id'
        | [ @job_name = ] N'job_name' }
    [ , [ @new_name = ] N'new_name' ]
    [ , [ @enabled = ] enabled ]
    [ , [ @description = ] N'description' ]
    [ , [ @start_step_id = ] start_step_id ]
    [ , [ @category_name = ] N'category_name' ]
    [ , [ @owner_login_name = ] N'owner_login_name' ]
    [ , [ @notify_level_eventlog = ] notify_level_eventlog ]
    [ , [ @notify_level_email = ] notify_level_email ]
    [ , [ @notify_level_netsend = ] notify_level_netsend ]
    [ , [ @notify_level_page = ] notify_level_page ]
    [ , [ @notify_email_operator_name = ] N'notify_email_operator_name' ]
    [ , [ @notify_netsend_operator_name = ] N'notify_netsend_operator_name' ]
    [ , [ @notify_page_operator_name = ] N'notify_page_operator_name' ]
    [ , [ @delete_level = ] delete_level ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

Numer identyfikacyjny zlecenia do aktualizacji. @job_id jest unikalnym identyfikatorem, z domyślnym .NULL

Albo @job_id , albo @job_name muszą być określone, ale obie nie mogą być określone.

[ @job_name = ] N'job_name'

Nazwa zadania. @job_name to nazwa systemu, z domyślnym .NULL

Albo @job_id , albo @job_name muszą być określone, ale obie nie mogą być określone.

[ @new_name = ] N'new_name'

Nowa nazwa tej pracy. @new_name jest nazwą systemu z domyślnym .NULL

[ @enabled = ] włączone

Określa, czy zadanie jest włączone (1), czy nie (0). @enabled jest tinyint, z domyślnym .NULL

[ @description = ] N'opis"

Opis pracy. @description to nvarchar(512), z domyślnym obciążeniem NULL.

[ @start_step_id = ] start_step_id

Numer identyfikacyjny pierwszego kroku do wykonania zadania. @start_step_id jest int, z domyślnym .NULL

[ @category_name = ] N'category_name'

Kategoria stanowiska. @category_name jest nazwą systemu z domyślnym .NULL

[ @owner_login_name = ] N'owner_login_name'

Nazwa login-a, który jest właścicielem tej pracy. @owner_login_name to nazwa systemu z domyślnym .NULL Tylko członkowie roli administratora systemu na stałym serwerze mogą zmienić właściciela pracy.

Warning

SQL Server Agent uruchamia Transact-SQL kroki pracy w kontekście bezpieczeństwa właściciela pracy. Jeśli zmienisz @owner_login_name, te kroki przechodzą pod uprawnieniami nowego właściciela.

[ @notify_level_eventlog = ] notify_level_eventlog

Określa, kiedy umieścić wpis w dzienniku aplikacji Microsoft Windows dla tego zadania. @notify_level_eventlog jest int i może być jedną z tych wartości.

Wartość Opis (akcja)
0 Nigdy
1 Po pomyślnych działaniach
2 Po awarii
3 Zawsze

[ @notify_level_email = ] notify_level_email

Określa, kiedy wysłać e-mail po zakończeniu tej pracy. @notify_level_email jest int, z domyślnym obciążeniem NULL. @notify_level_email używa tych samych wartości co @notify_level_eventlog.

[ @notify_level_netsend = ] notify_level_netsend

Określa, kiedy wysłać wiadomość sieciową po zakończeniu tego zadania. @notify_level_netsend jest int, z domyślnym obciążeniem NULL. @notify_level_netsend używa tych samych wartości co @notify_level_eventlog.

[ @notify_level_page = ] notify_level_page

Określa, kiedy wysłać stronę po zakończeniu tego zadania. @notify_level_page jest int, z domyślnym .NULL @notify_level_page używa tych samych wartości co @notify_level_eventlog.

[ @notify_email_operator_name = ] N'notify_email_operator_name'

Nazwisko operatora, do którego e-mail jest wysyłany w momencie email_level osiągniętych. @notify_email_operator_name to nazwa systemu, z domyślnym .NULL

[ @notify_netsend_operator_name = ] N'notify_netsend_operator_name'

Imię operatora, do którego wysyłana jest wiadomość sieciowa. @notify_netsend_operator_name to nazwa systemu, z domyślnym .NULL

[ @notify_page_operator_name = ] N'notify_page_operator_name'

Imię operatora, do którego wysyłana jest strona. @notify_page_operator_name to nazwa systemu, z domyślnym .NULL

[ @delete_level = ] delete_level

Określa, kiedy usunąć zadanie. @delete_level jest int, z domyślnym obciążeniem NULL. @delete_level używa tych samych wartości co @notify_level_eventlog.

[ @automatic_post = ] automatic_post

Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Uwagi

sp_update_job musi być uruchamiany z bazy msdb danych.

sp_update_job zmienia tylko te ustawienia, dla których podane są wartości parametrów. Jeśli parametr zostanie pominięty, aktualne ustawienie pozostaje zachowane.

Ta procedura przechowywana dzieli nazwę z podobnym sp_update_job obiektem dla usługi Azure Elastic Jobs dla Azure SQL Database. Informacje o wersji elastic jobs można znaleźć w jobs.sp_update_job (Azure Elastic Jobs).

Permissions

Możesz przyznać EXECUTE uprawnienia tej procedurze, ale mogą one zostać nadpisane podczas aktualizacji SQL Server.

Inni użytkownicy muszą otrzymać jedną z następujących stałych ról msdb bazy danych SQL Server Agent:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Szczegóły dotyczące uprawnień tych ról można znaleźć w sekcji SQL Server Agent Fixed Database Roles.

Tylko członkowie administratora systemu mogą używać tej procedury przechowywanej do edycji atrybutów zadań należących do innych użytkowników.

Warning

SQL Server Agent uruchamia Transact-SQL kroki pracy w kontekście bezpieczeństwa właściciela pracy. Jeśli zmienisz @owner_login_name, te kroki przechodzą pod uprawnieniami nowego właściciela.

Przykłady

Poniższy przykład zmienia nazwę, opis oraz status włączenia zadania NightlyBackups.

USE msdb;
GO

EXECUTE dbo.sp_update_job
    @job_name = N'NightlyBackups',
    @new_name = N'NightlyBackups -- Disabled',
    @description = N'Nightly backups disabled during server migration.',
    @enabled = 0;
GO