Udostępnij za pośrednictwem


sp_add_job (Transact-SQL)

W tym artykule opisano protokół transportu fizyczny, który jest używany przez to połączenie.

Topic link iconKonwencje składni języka Transact-SQL

sp_add_job [ @job_name = ] 'job_name'
     [ , [ @enabled = ] enabled ] 
     [ , [ @description = ] 'description' ] 
     [ , [ @start_step_id = ] step_id ] 
     [ , [ @category_name = ] 'category' ] 
     [ , [ @category_id = ] category_id ] 
     [ , [ @owner_login_name = ] 'login' ] 
     [ , [ @notify_level_eventlog = ] eventlog_level ] 
     [ , [ @notify_level_email = ] email_level ] 
     [ , [ @notify_level_netsend = ] netsend_level ] 
     [ , [ @notify_level_page = ] page_level ] 
     [ , [ @notify_email_operator_name = ] 'email_name' ] 
          [ , [ @notify_netsend_operator_name = ] 'netsend_name' ] 
     [ , [ @notify_page_operator_name = ] 'page_name' ] 
     [ , [ @delete_level = ] delete_level ] 
     [ , [ @job_id = ] job_id OUTPUT ] 

Argumenty

  • [ @job_name = ] 'job_name'
    Nazwa zadanie.The name must be unique and cannot contain the percent (%) character.job_nameis nvarchar(128), with no default.

  • [ @enabled = ] enabled
    Indicates the status of the added job.enabledis tinyint, with a default of 1 (enabled).Jeśli 0, zadanie nie jest włączone i nie działa zgodnie z jego harmonogramu, jednak może zostać uruchomione ręcznie.

  • [ @description = ] 'description'
    The description of the job.description is nvarchar(512), with a default of NULL.Jeśli descriptionjest pominięty, "" nie dostępnego opisu"jest używany.

  • [ @start_step_id = ] step_id
    The identification number of the first step to execute for the job.step_idis int, with a default of 1.

  • [ @category_name = ] 'category'
    The category for the job.categoryis sysname, with a default of NULL.

  • [ @category_id = ] category_id
    A language-independent mechanism for specifying a job category.category_idis int, with a default of NULL.

  • [ @owner_login_name = ] 'login'
    The name of the login that owns the job.loginis sysname, with a default of NULL, which is interpreted as the current login name.Tylko członkowie sysadmin roli serwera stałe zestaw lub zmienić wartość @ owner_login_name.Jeśli użytkownicy, którzy nie są członkami z sysadmin roli ustawić lub zmienić wartość @ owner_login_name, przechowywane wykonanie tej procedury nie powiedzie się i zwracany jest błąd.

  • [ @notify_level_eventlog = ] eventlog_level
    A value indicating when to place an entry in the Microsoft Windows application log for this job.eventlog_levelis int, and can be one of these values.

    Wartość

    Description

    0

    Nigdy nie

    1

    Sygnatura czasowa podczas wystąpienia ostatniego odczytu za pośrednictwem tego połączenia.

    2 (domyślnie)

    last_write

    3

    Zawsze

  • [ @notify_level_email = ] email_level
    A value that indicates when to send an e-mail upon the completion of this job.email_levelis int, with a default of 0, which indicates never.email_leveluses the same values as eventlog_level.

  • [ @notify_level_netsend = ] netsend_level
    A value that indicates when to send a network message upon the completion of this job.netsend_levelis int, with a default of 0, which indicates never.netsend_level uses the same values as eventlog_level.

  • [ @notify_level_page = ] page_level
    A value that indicates when to send a page upon the completion of this job.page_levelis int, with a default of 0, which indicates never.page_leveluses the same values as eventlog_level.

  • [ @notify_email_operator_name = ] 'email_name'
    The e-mail name of the person to send e-mail to when email_level is reached.email_name is sysname, with a default of NULL.

  • [ @notify_netsend_operator_name = ] 'netsend_name'
    The name of the operator to whom the network message is sent upon completion of this job.netsend_nameis sysname, with a default of NULL.

  • [ @notify_page_operator_name = ] 'page_name'
    The name of the person to page upon completion of this job.page_nameis sysname, with a default of NULL.

  • [ @delete_level = ] delete_level
    A value that indicates when to delete the job.delete_valueis int, with a default of 0, which means never.delete_leveluses the same values as eventlog_level.

    Uwaga

    Kiedy delete_level jest 3, zadanie jest uruchamiane tylko raz, niezależnie od wszelkich harmonogramy dla zadania.parent_connection_id

  • [ @job_id = ] job_idOUTPUT
    The job identification number assigned to the job if created successfully.job_idis an output variable of type uniqueidentifier, with a default of NULL.

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Zestawy wyników

None

Remarks

@ originating_server istniejesp_add_job, nie jest jednak wyświetlane w obszarze argumenty.@ originating_server jest zarezerwowana do użytku wewnętrznego.

After sp_add_job has been executed to add a job, sp_add_jobstep can be used to add steps that perform the activities for the job.sp_add_jobschedule can be used to create the schedule that the SQL Server Agent service uses to execute the job.Użycie sp_add_jobserver to zestaw the SQL Server wystąpienie zadania wykonuje, a sp_delete_jobserver , aby usunąć zadanie z SQL Server wystąpienie.

Jeśli zadanie spowoduje wykonać jednego lub kilku serwerów miejsce docelowe w środowiskach wieloserwerowych, należy użyć sp_apply_job_to_targets serwerów miejsce docelowe lub grupy serwer miejsce docelowe dla zadania.Aby usunąć zadania z serwerów miejsce docelowe lub miejsce docelowe grupy serwerów, należy użyć sp_remove_job_from_targets.

SQL Server Management Studio zapewnia to łatwe, graficzny sposób zarządzania zadaniami i jest zalecanym sposobem tworzenia i zarządzania infrastrukturą zadanie.

Uprawnienia

Aby wykonać tę procedura przechowywana, użytkownicy muszą być członkiem sysadmin ustalone roli serwera lub jeden z następujących przyznawaneSQL Server Agent stałe role bazy danych, które znajdują się w msdb bazy danych:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Aby uzyskać informacje dotyczące określonych uprawnień, które są skojarzone z każdym z tych ról stałej bazy danych zobacz SQL Server Agent Fixed Database Roles.

Tylko członkowie sysadmin roli serwera stałe zestaw lub zmienić wartość @ owner_login_name.Jeśli użytkownicy, którzy nie są członkami z sysadmin roli ustawić lub zmienić wartość @ owner_login_name, przechowywane wykonanie tej procedury nie powiedzie się i zwracany jest błąd.

Przykłady

A.CONNECTIONPROPERTY (języka Transact-SQL)

W tym przykładzie dodaje nowe zadanie o nazwie NightlyBackups.

USE msdb ;
GO

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

B.Dodawanie zadania z informacjami wysyłanymi za pośrednictwem pagera, poczty e-mail lub sieci

W tym przykładzie tworzy zadanie o nazwie Ad hoc Sales Data Backup powiadamia, że François Ajenstat (przez pager, wiadomości e-mail lub sieci komunikat podręczny) Jeśli zadanie nie powiedzie się i usuwa zadania po pomyślnym zakończeniu.

Uwaga

W tym przykładzie założono, że operator o nazwie François Ajenstat i identyfikatora logowania o nazwie françoisa już istnieje.

USE msdb ;
GO

EXEC dbo.sp_add_job
    @job_name = N'Ad hoc Sales Data Backup', 
    @enabled = 1,
    @description = N'Ad hoc backup of sales data',
    @owner_login_name = N'françoisa',
    @notify_level_eventlog = 2,
    @notify_level_email = 2,
    @notify_level_netsend = 2,
    @notify_level_page = 2,
    @notify_email_operator_name = N'François Ajenstat',
    @notify_netsend_operator_name = N'François Ajenstat', 
    @notify_page_operator_name = N'François Ajenstat',
    @delete_level = 1 ;
GO