Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Managed Instance
Tworzy nowe zadanie wykonywane przez usługę SQL Server Agent.
Transact-SQL konwencje składni
Ważne
Na platformie Azure SQL Managed Instance obecnie obsługiwana jest większość funkcji agenta programu SQL Server, ale nie wszystkie. Zobacz różnice Azure SQL Managed Instance T-SQL w porównaniu do SQL Server dla szczegółów.
Składnia
sp_add_job
[ @job_name = ] N'job_name'
[ , [ @enabled = ] enabled ]
[ , [ @description = ] N'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 ]
[ ; ]
Arguments
@job_name
Nazwa zadania. Nazwa musi być unikalna i nie może zawierać znaku procentowego (%).
@job_name to nvarchar(128), bez domyślnego statusu. To jest wymagane.
@enabled
Wskazuje status dodanego zadania.
Włączony jest TinyInt, z domyślnym ( 1 włączony). Jeśli 0, zadanie nie jest włączone i nie wykonuje się zgodnie ze swoim harmonogramem; jednak można je uruchomić ręcznie.
@description
Opis pracy.
@description to nvarchar(512), z domyślnym obciążeniem NULL. Jeśli @description zostanie pominięte, jest używane. N'No description available'
@start_step_id
Numer identyfikacyjny pierwszego kroku do wykonania zadania.
@start_step_id jest int, z domyślnym .1
@category_name
Kategoria dla pracy.
@category_name jest nazwą systemu z domyślnym .NULL
@category_id
Niezależny od języka mechanizm określania kategorii stanowiska.
@category_id jest int, z domyślnym obciążeniem NULL.
@owner_login_name
Nazwa login-a, który jest właścicielem tej pracy.
@owner_login_name to nazwa sysname, z domyślnym , NULLco jest interpretowane jako aktualna nazwa logowania. Tylko członkowie roli stałego serwera administratora systemu mogą ustawiać lub zmieniać wartość @owner_login_name. Jeśli użytkownicy spoza roli administratora systemu ustawią lub zmienią wartość @owner_login_name, wykonanie tej procedury przechowywanej nie ulega awarii i pojawia się błąd.
@notify_level_eventlog
Wartość wskazująca, kiedy umieścić wpis w dzienniku aplikacji Microsoft Windows dla tego zadania. @notify_level_eventlog to int i może być jedną z tych wartości:
| Wartość | Description |
|---|---|
0 |
Nigdy |
1 |
Po pomyślnych działaniach |
2 (ustawienie domyślne) |
Po awarii |
3 |
Zawsze |
@notify_level_email
Wartość wskazująca, kiedy wysłać e-mail po zakończeniu tej pracy.
@notify_level_email jest int, z domyślnym , 0co oznacza nigdy.
@notify_level_email używa tych samych wartości co @notify_level_eventlog.
@notify_level_netsend
Wartość wskazująca, kiedy wysłać wiadomość sieciową po zakończeniu tego zadania.
@notify_level_netsend jest int, z domyślnym , 0co oznacza nigdy.
@notify_level_netsend używa tych samych wartości co @notify_level_eventlog.
@notify_level_page
Wartość wskazująca, kiedy wysłać stronę po zakończeniu tego zadania.
@notify_level_page jest int, z domyślnym , 0co oznacza nigdy.
@notify_level_page używa tych samych wartości co @notify_level_eventlog.
@notify_email_operator_name
Imię i nazwisko e-mail osoby, do której należy wysłać e-mail, gdy @notify_email_operator_name zostanie osiągnięty.
@notify_email_operator_name to nazwa systemu, z domyślnym .NULL
@notify_netsend_operator_name
Imię i nazwisko operatora, do którego wiadomość sieciowa jest wysyłana po zakończeniu tego zadania.
@notify_netsend_operator_name to nazwa systemu, z domyślnym .NULL
@notify_page_operator_name
Imię i nazwisko osoby, którą można wezwać po zakończeniu tej pracy.
@notify_page_operator_name to nazwa systemu, z domyślnym .NULL
@delete_level
Wartość wskazująca, kiedy usunąć zadanie.
delete_value jest int, z domyślnym , 0co oznacza nigdy.
@delete_level używa tych samych wartości co @notify_level_eventlog.
Uwaga / Notatka
Gdy @delete_level jest , 3zadanie jest wykonywane tylko raz, niezależnie od zdefiniowanych harmonogramów dla zadania. Co więcej, jeśli zadanie samo się usunie, cała historia tego zadania również zostaje usunięta.
dane wyjściowe @job_id
Numer identyfikacyjny pracy przypisany do zadania, jeśli zostanie pomyślnie utworzony.
@job_id jest zmienną wyjściową typu uniqueidentifier, z domyślną wartością NULL.
Zwracanie wartości kodu
0 (powodzenie) lub 1 (niepowodzenie).
Zestaw wyników
Żaden.
Uwagi
@originating_server istnieje w sp_add_job, ale nie jest wymieniona w sekcji Argumenty.
@originating_server jest zarezerwowany do użytku wewnętrznego.
Po sp_add_job wykonaniu zadania sp_add_jobstep można go użyć do dodania kroków wykonujących działania w danym zadaniu.
sp_add_jobschedule może być użyte do stworzenia harmonogramu, którego usługa SQL Server Agent wykorzystuje do wykonania zadania.
Użyj do sp_add_jobserver ustawienia instancji SQL Server w miejscu wykonywania zadania oraz sp_delete_jobserver do usunięcia zadania z instancji SQL Server. Jeśli zadanie działa na jednym lub kilku docelowych serwerach w środowisku wieloserwerowym, użyj do sp_apply_job_to_targets ustawienia docelowych serwerów lub grup docelowych dla zadania. Aby usunąć zadania z docelowych serwerów lub grup docelowych, użyj sp_remove_job_from_targets.
Funkcja Multi Server Administration (MSX/TSX) nie jest obsługiwana w Azure SQL Managed Instance.
Program SQL Server Management Studio zapewnia łatwy, graficzny sposób zarządzania zadaniami i jest zalecanym sposobem tworzenia infrastruktury zadań i zarządzania nią.
Ta procedura przechowywana dzieli nazwę z podobnym sp_add_job obiektem dla usługi Azure Elastic Jobs dla Azure SQL Database. Aby uzyskać informacje o wersji zadań elastycznych, zobacz jobs.sp_add_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 roli stałego serwera administratora systemu mogą ustawiać lub zmieniać wartość @owner_login_name. Jeśli użytkownicy spoza roli administratora systemu ustawią lub zmienią wartość @owner_login_name, wykonanie tej procedury przechowywanej nie ulega awarii i pojawia się błąd.
Przykłady
A. Dodaj pracę
Ten przykład dodaje nowe zadanie o nazwie NightlyBackups.
USE msdb;
GO
EXECUTE dbo.sp_add_job @job_name = N'NightlyBackups';
GO
B. Dodaj zadanie z pagerem, e-mailem i informacjami do wysyłania przez internet
Ten przykład tworzy zadanie o nazwie, Ad hoc Sales Data Backup które powiadamia François Ajenstat (pagerem, e-mailem lub komunikatem sieciowym), jeśli zadanie się nie powiedzie, a po pomyślnym zakończeniu usuwa zadanie.
Uwaga / Notatka
Ten przykład zakłada, że operator o nazwie oraz François Ajenstat login o nazwie françoisa już istnieją.
USE msdb;
GO
EXECUTE 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
Treści powiązane
- sp_add_schedule (Transact-SQL)
- sp_add_jobstep (Transact-SQL)
- sp_add_jobserver (Transact-SQL)
- sp_apply_job_to_targets (Transact-SQL)
- sp_delete_job (Transact-SQL)
- sp_delete_jobserver (Transact-SQL)
- sp_remove_job_from_targets (Transact-SQL)
- sp_help_job (Transact-SQL)
- sp_help_jobstep (Transact-SQL)
- sp_update_job (Transact-SQL)