Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Vytváří novou úlohu vykonávanou službou SQL Server Agent.
Důležité
Na Azure SQL Managed Instance, většina, ale ne všechny funkce agenta SQL Serveru jsou aktuálně podporované. Podrobnosti viz Azure SQL Managed Instance T-SQL oproti SQL Serveru .
Syntaxe
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
Název úlohy. Název musí být jedinečný a nesmí obsahovat procento znaku (%).
@job_name je nvarchar(128), bez výchozího nastavení. Povinné.
@enabled
Ukazuje stav přidané práce.
Povoleno je tinyint, s výchozím nastavením 1 (povoleno). Pokud 0, úloha není povolena a neběží podle svého plánu; nicméně ji lze spustit ručně.
@description
Popis práce.
@description je nvarchar(512), s výchozím hodnotou NULL. Pokud @description vynechán, používá se. N'No description available'
@start_step_id
Identifikační číslo prvního kroku k provedení pro danou práci.
@start_step_id je int, s výchozím nastavením 1.
@category_name
Kategorie pro danou práci.
@category_name je sysname, s výchozím nastavením NULL.
@category_id
Jazykově nezávislý mechanismus pro určení kategorie práce.
@category_id je int, s výchozím nastavením NULL.
@owner_login_name
Název přihlašovacího data, který vlastní práci.
@owner_login_name je sysname, s výchozím , NULLcož je interpretováno jako aktuální přihlašovací jméno. Pouze členové role pevného správce systému mohou nastavit nebo měnit hodnotu pro @owner_login_name. Pokud uživatelé, kteří nejsou členy role správce systému , nastaví nebo změní hodnotu @owner_login_name, vykonání této uložené procedury selže a vrátí se chyba.
@notify_level_eventlog
Hodnota indikující, kdy vložit položku do logu aplikace Microsoft Windows pro tuto úlohu. @notify_level_eventlog je int a může být jednou z těchto hodnot:
| Hodnota | Description |
|---|---|
0 |
Nikdy |
1 |
Při úspěchu |
2 (výchozí) |
Při selhání |
3 |
Always |
@notify_level_email
Hodnota, která ukazuje, kdy poslat e-mail po dokončení této práce.
@notify_level_email je int, s výchozím , 0což znamená nikdy.
@notify_level_email používá stejné hodnoty jako @notify_level_eventlog.
@notify_level_netsend
Hodnota, která indikuje, kdy odeslat síťovou zprávu po dokončení této úlohy.
@notify_level_netsend je int, s výchozím , 0což znamená nikdy.
@notify_level_netsend používá stejné hodnoty jako @notify_level_eventlog.
@notify_level_page
Hodnota, která ukazuje, kdy po dokončení této práce odeslat stránku.
@notify_level_page je int, s výchozím , 0což znamená nikdy.
@notify_level_page používá stejné hodnoty jako @notify_level_eventlog.
@notify_email_operator_name
E-mailové jméno osoby, které je třeba e-mail poslat, když @notify_email_operator_name zastihnete.
@notify_email_operator_name je sysname s výchozím nastavením NULL.
@notify_netsend_operator_name
Jméno operátora, kterému je síťová zpráva po dokončení této práce odeslána.
@notify_netsend_operator_name je sysname s výchozím nastavením NULL.
@notify_page_operator_name
Jméno osoby, kterou lze po dokončení této práce vypovědět.
@notify_page_operator_name je sysname s výchozím nastavením NULL.
@delete_level
Hodnota, která ukazuje, kdy úkol smazat.
delete_value je int, s výchozím , 0což znamená nikdy.
@delete_level používá stejné hodnoty jako @notify_level_eventlog.
Poznámka:
Pokud @delete_level je 3, je úkol vykonán pouze jednou, bez ohledu na jakékoli plány definované pro danou úlohu. Navíc, pokud se práce sama smaže, je smazána i veškerá historie této práce.
výstup @job_id
Identifikační číslo práce přiřazené pracovní pozici, pokud bylo úspěšně vytvořeno.
@job_id je výstupní proměnná typu uniqueidentifier, s výchozím NULLnastavením .
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Sada výsledků
Žádné.
Poznámky
@originating_server existuje v sp_add_job, ale není uveden v sekci Argumenty.
@originating_server je vyhrazeno pro interní použití.
Po sp_add_job provedení pro přidání úkolu lze použít k přidání kroků, sp_add_jobstep které provádějí dané úkoly.
sp_add_jobschedule lze použít k vytvoření harmonogramu, který služba SQL Server Agent používá k vykonání úlohy.
Použijte sp_add_jobserver k nastavení instance SQL Serveru, kde se úloha spouští, a sp_delete_jobserver k odstranění úlohy z instance SQL Serveru. Pokud se úloha spouští na jednom nebo více cílových serverech v multiserverovém prostředí, použijte sp_apply_job_to_targets k nastavení cílových serverů nebo skupin cílových serverů pro danou úlohu. Pro odstranění úloh z cílových serverů nebo skupin serverů použijte sp_remove_job_from_targets.
Funkce Multi Server Administration (MSX/TSX) není v Azure SQL Managed Instance podporována.
SQL Server Management Studio poskytuje snadný, grafický způsob správy úloh a je doporučený způsob, jak vytvořit a spravovat infrastrukturu úloh.
Tato uložená procedura sdílí název s sp_add_job podobným objektem pro službu Azure Elastic Jobs pro Azure SQL Database. Pro informace o verzi elastic jobs viz jobs.sp_add_job (Azure Elastic Jobs).
Povolení
Na tomto postupu můžete udělit EXECUTE oprávnění, ale tato oprávnění mohou být během upgradu SQL Serveru přepsána.
Ostatní uživatelé musí mít v databázi msdb přiděleny některé z následujících pevných databázových rolí SQL Server Agent:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Podrobnosti o oprávněních těchto rolí naleznete v SQL Server Agent Fixed Database Roles.
Pouze členové role pevného správce systému mohou nastavit nebo měnit hodnotu pro @owner_login_name. Pokud uživatelé, kteří nejsou členy role správce systému , nastaví nebo změní hodnotu @owner_login_name, vykonání této uložené procedury selže a vrátí se chyba.
Examples
A. Přidejte si práci
Tento příklad přidává novou roli s názvem NightlyBackups.
USE msdb;
GO
EXECUTE dbo.sp_add_job @job_name = N'NightlyBackups';
GO
B. Přidejte práci pomocí pageru, e-mailu a online odesílání informací
Tento příklad vytváří úkol s názvem Ad hoc Sales Data Backup úkol, který upozorní François Ajenstat (pagerem, e-mailem nebo síťovým vyskakovacím oknem), pokud úkol selže, a po úspěšném dokončení úkol smaže.
Poznámka:
Tento příklad předpokládá, že již existují pojmenovaný operátor François Ajenstat a přihlašovací jméno françoisa .
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
Související obsah
- 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)