Udostępnij za pośrednictwem


sp_add_job (języka Transact-SQL)

Dodaje nowe zadanie wykonywane przez usługaSQLServerAgent.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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.Nazwa musi być unikatowa i nie może zawierać procent (%) znaków.job_namejest nvarchar(128), z braku domyślne.

  • [ @ włączone =] enabled
    Wskazuje stan dodano zadanie.enabledjest tinyint, z domyślnego (włączone) 1.Jeśli 0, zadanie nie jest włączone i nie działa zgodnie z jego harmonogramu; Jednakże może zostać uruchomione ręcznie.

  • [ @ Opis = ] 'description"
    Opis zadanie.descriptionjest nvarchar(512), domyślna wartość NULL.Jeśli description zostanie pominięty, "Opis niedostępny" jest używany.

  • [ @ start_step_id = ] step_id
    Numer identyfikacyjny pierwszy krok do wykonać zadanie.step_idjest int, domyślna wartość 1.

  • [ @ category_name =] 'category"
    Kategoria zadanie.categoryjest sysname, domyślna wartość NULL.

  • [ @ category_id = ] category_id
    Określanie kategorii zadanie mechanizm niezależny od języka.category_idjest int, domyślna wartość NULL.

  • [ @ owner_login_name = ] 'login"
    Nazwa logowania, który jest właścicielem zadanie.loginjest sysname, domyślna wartość NULL, który jest interpretowany jako bieżącą nazwę logowania.Tylko członkowie sysadmin stała rola serwera można zestaw lub zmienić wartość dla @ owner_login_name.Jeśli użytkownicy, którzy nie są członkami z sysadmin rola zestaw lub zmień wartość @ owner_login_name, wykonanie tej procedura składowana kończy się niepowodzeniem i zwracany jest błąd.

  • [ @ notify_level_eventlog = ] eventlog_level
    Wartość wskazująca, kiedy należy umieścić wpis w dzienniku aplikacji systemu Microsoft Windows dla tego zadanie.eventlog_leveljest int, i może być jedną z tych wartości.

    Wartość

    Opis

    0

    Nigdy nie

    1

    W przypadku powodzenia

    2 (wartość domyślna)

    W przypadku awarii

    3

    Zawsze

  • [ @ notify_level_email = ] email_level
    Wartość wskazująca, kiedy należy wysłać wiadomość e-mail po zakończeniu tego zadanie.email_leveljest int, domyślnie 0, która oznacza nigdy.email_levelużywa tej samej wartości jako eventlog_level.

  • [ @ notify_level_netsend = ] netsend_level
    Wartość wskazująca, kiedy wysłać komunikat sieciowy po zakończeniu tego zadanie.netsend_leveljest int, domyślnie 0, która oznacza nigdy.netsend_levelużywa tej samej wartości jako eventlog_level.

  • [ @ notify_level_page = ] page_level
    Wartość wskazująca, kiedy wysłać strona po zakończeniu tego zadanie.page_leveljest int, domyślnie 0, która oznacza nigdy.page_levelużywa tej samej wartości jako eventlog_level.

  • [ @ notify_email_operator_name = ] 'email_name"
    Nazwa e-mail osoby do wysyłania wiadomości e-mail o tym, kiedy email_level osiągnięciu.email_namejest sysname, domyślna wartość NULL.

  • [ @ notify_netsend_operator_name = ] 'netsend_name"
    Nazwa operator , do którego komunikat sieciowy jest wysyłany po zakończeniu tego zadanie.netsend_namejest sysname, domyślna wartość NULL.

  • [ @ notify_page_operator_name = ] 'page_name"
    Nazwisko osoby do strona po zakończeniu tego zadanie.page_namejest sysname, domyślna wartość NULL.

  • [ @ delete_level = ] delete_level
    Wartość wskazująca, kiedy należy usunąć zadanie.delete_valuejest int, domyślna wartość 0, co oznacza nigdy.delete_levelużywa tej samej wartości jako eventlog_level.

    Ostrzeżenie

    Gdy delete_level jest 3, zadanie jest wykonywane tylko raz, niezależnie od tego, wszelkie harmonogramy zdefiniowanych dla tego zadanie.Ponadto jeśli zadanie usuwana, cała historia zadanie także zostanie usunięty.

  • [ @job_id = ] job_idOUTPUT
    Numer identyfikacyjny zadanie przypisany do zadanie , jeśli został utworzony pomyślnie.job_idjest zmienną wyjście typu uniqueidentifier, domyślna wartość NULL.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Zestawy wyników

Brak

Uwagi

@ originating_server istnieje w sp_add_job, , ale nie ma na liście w obszarze argumenty.@ originating_server jest zarezerwowana do użytku wewnętrznego.

Po sp_add_job zostało wykonane, aby dodać zadanie sp_add_jobstep może służyć do dodawania kroki, które wykonują działalności dla zadanie.sp_add_jobschedule można używać do tworzenia harmonogramu SQL Server agenta usługa używa do wykonać zadanie.Użycie sp_add_jobserver zestaw SQL Server wystąpienie , gdzie wykonuje zadanie i sp_delete_jobserver usunąć zadanie z SQL Server wystąpienie.

Jeśli zadanie będzie wykonać dla serwerów miejsce docelowe , w środowiskach wieloserwerowych, użyj sp_apply_job_to_targets , aby zestaw serwerów miejsce docelowe lub serwer miejsce docelowe grupy dla zadanie.Aby usunąć zadania z serwerów miejsce docelowe lub grup serwerów miejsce docelowe , użyj sp_remove_job_from_targets.

SQL Server Management Studiozapewnia łatwe, graficzny sposób Zarządzanie zadaniami i jest zalecanym sposobem tworzenia i zarządzania infrastrukturą zadanie .

Uprawnienia

Aby uruchomić tę procedura składowana, użytkownicy muszą być element członkowski sysadmin stała rola serweralub jedną z następujących SQL Server Agent ról stałej 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 ustalonych bazy danych ról, zobacz Ról stałej bazy danych programu SQL Server Agent.

Tylko członkowie sysadmin stała rola serwera można zestaw lub zmienić wartość dla @ owner_login_name.Jeśli użytkownicy, którzy nie są członkami z sysadmin rola zestaw lub zmień wartość @ owner_login_name, wykonanie tej procedura składowana kończy się niepowodzeniem i zwracany jest błąd.

Przykłady

A.Dodawanie zadanie

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 zadanie z pager, poczta e-mail i sieć wysyłanie informacji

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

Ostrzeżenie

W tym przykładzie założono, że operator o nazwie François Ajenstat i 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