sp_add_job (języka Transact-SQL)
Dodaje nowe zadanie wykonywane przez usługaSQLServerAgent.
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
Zobacz także