Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Managed Instance
Új feladatot hoz létre, amelyet az SQL Server Agent szolgáltatás hajt végre.
Transact-SQL szintaxis konvenciók
Fontos
Felügyelt Azure SQL-példányesetében a legtöbb, de jelenleg nem minden SQL Server Agent-funkció támogatott. Részletekért lásd Azure SQL Managed Instance T-SQL különbségeit az SQL Server-től .
Szemantika
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
A feladat neve. A névnek egyedinek kell lennie, és nem tartalmazhatja a százalékos (%) karaktert.
@job_namenvarchar(128), alapértelmezett nélkül. Szükséges.
@enabled
Jelzi a hozzáadott munka állapotát.
az engedélyezetttinyint, alapértelmezett 1 (engedélyezve). Ha 0, a feladat nincs engedélyezve, és nem fut az ütemezés szerint; viszont manuálisan is futtatható.
@description
A munka leírása.
@descriptionnvarchar(512), alapértelmezett NULLérték . Ha @description kihagyják, N'No description available' akkor használják.
@start_step_id
Az első lépés azonosító száma, amit a feladathoz végrehajthatunk.
@start_step_idint, alapértelmezés 1.
@category_name
A munka kategóriája.
@category_name a sysname, alapértelmezett értékével.NULL
@category_id
Egy nyelvfüggetlen mechanizmus egy munkakategória meghatározására.
@category_idint, alapértelmezés NULL.
@owner_login_name
A bejelentkezés neve, amely a munka tulajdonosa.
@owner_login_name a sysname, alapértelmezettként NULL, ami a jelenlegi bejelentkezési névként értelmezhető. Csak a rendszergazdai fix szerver tagjai állíthatják be vagy módosíthatják az @owner_login_name értékét. Ha olyan felhasználók vannak, akik nem tagjai a rendszergazdálkodó szerepkészletnek, vagy megváltoztatják @owner_login_name értékét, a tárolt eljárás végrehajtása meghibásodik, és hiba jelenik meg.
@notify_level_eventlog
Egy érték, amely jelzi, mikor kell bejegyzést helyezni a Microsoft Windows alkalmazásnaplóba ehhez a feladathoz. @notify_level_eventlogint, és lehet az alábbi értékek:
| Érték | Description |
|---|---|
0 |
Soha |
1 |
Sikeres |
2 (alapértelmezett) |
Hiba esetén |
3 |
Mindig |
@notify_level_email
Ez az érték jelzi, mikor kell e-mailt küldeni a munka befejezése után.
@notify_level_emailint, alapértelmezett 0, ami azt jelzi, hogy soha.
@notify_level_email ugyanazokat az értékeket használja, mint a @notify_level_eventlog.
@notify_level_netsend
Ez az érték jelzi, mikor kell hálózati üzenetet küldeni a munka befejezése után.
@notify_level_netsendint, alapértelmezett 0, ami soha.
@notify_level_netsend ugyanazokat az értékeket használja, mint a @notify_level_eventlog.
@notify_level_page
Ez az érték jelzi, mikor kell oldalt küldeni a munka befejezése után.
@notify_level_pageint, alapértelmezett 0érték , ami azt jelzi, hogy soha.
@notify_level_page ugyanazokat az értékeket használja, mint a @notify_level_eventlog.
@notify_email_operator_name
Az e-mail név, akinek e-mailt kell küldeni, amikor @notify_email_operator_name érik el az e-mailt.
@notify_email_operator_name a sysname, alapértelmezettként NULL.
@notify_netsend_operator_name
Az operátor neve, akinek a hálózati üzenetet a munka befejezése után küldik.
@notify_netsend_operator_name a sysname, alapértelmezés NULLszerint .
@notify_page_operator_name
Annak a személynek a nevét, akit a munka befejezése után fel kell hívni.
@notify_page_operator_name a sysname, alapértelmezésként NULL.
@delete_level
Egy érték, ami jelzi, mikor kell törölni a feladatot.
delete_valueint, alapértelmezés 0, ami azt jelenti, hogy soha.
@delete_level ugyanazokat az értékeket használja, mint a @notify_level_eventlog.
Megjegyzés:
Ha @delete_level3, a feladatot csak egyszer hajtják végre, függetlenül attól, hogy bármilyen ütemezést definiálnak. Továbbá, ha egy munka önmagát törli, akkor az összes előzmény is törlődik.
@job_id KIMENET
A munkakör azonosító száma, ha sikeresen létrehozták.
@job_id egy kimeneti változó, amelynek típusa uniqueidentifier, alapértelmezés .NULL
Kódértékek visszaadása
0 (sikeres) vagy 1 (hiba).
Eredményhalmaz
Nincs.
Megjegyzések
@originating_server létezik , sp_add_jobde nincs felsorolva az Érvek alatt.
@originating_server belső használatra van fenntartva.
Miután sp_add_job végrehajtották a feladat hozzáadásához, sp_add_jobstep használható lépések hozzáadására, amelyek végrehajtják a feladat tevékenységeit.
sp_add_jobschedule használható az az SQL Server Agent szolgáltatás által használt menetrend létrehozására a feladat végrehajtásához.
Használd sp_add_jobserver az SQL Server instance beállítására, ahol a feladat végrehajtódik, és sp_delete_jobserver eltávolítod a feladatot az SQL Server instance-ból. Ha a feladat egy vagy több célszerveren fut le egy többszerveres környezetben, akkor a feladat célszervereinek vagy csoportjai beállítására használják sp_apply_job_to_targets . A célszerverekről vagy a célszervercsoportokról a feladatok eltávolításához használd sp_remove_job_from_targets.
A Multi Server Administration (MSX/TSX) funkció nem támogatott az Azure SQL Managed Instance-on.
Az SQL Server Management Studio egyszerű, grafikus módot kínál a feladatok kezelésére, és ez a feladatinfrastruktúra létrehozásának és kezelésének ajánlott módja.
Ez a tárolt eljárás ugyanazt a nevet sp_add_job használja, amely hasonló objektumot használ az Azure SQL Database Azure Elastic Jobs szolgáltatásához. Az elastic jobs verzióról további információkért lásd jobs.sp_add_job (Azure Elastic Jobs) oldalt.
Permissions
Ezen az eljáráshoz engedélyeket adhatsz EXECUTE , de ezek az engedélyek felülbírálhatók egy SQL Server frissítés során.
Más felhasználóknak az alábbi SQL Server Agent rögzített adatbázis-szerepek egyikét kell megadniuk az msdb adatbázisban:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Ezeknek a szerepköröknek a jogosultságairól az SQL Server Agent Fixed Database Roles oldalon találja a részleteket.
Csak a rendszergazdai fix szerver tagjai állíthatják be vagy módosíthatják az @owner_login_name értékét. Ha olyan felhasználók vannak, akik nem tagjai a rendszergazdálkodó szerepkészletnek, vagy megváltoztatják @owner_login_name értékét, a tárolt eljárás végrehajtása meghibásodik, és hiba jelenik meg.
Példák
A. Feladat hozzáadása
Ez a példa egy új feladatot ad hozzá .NightlyBackups
USE msdb;
GO
EXECUTE dbo.sp_add_job @job_name = N'NightlyBackups';
GO
B. Adjon hozzá egy állást pagerrel, e-mailrel és netti küldési információval
Ez a példa létrehoz egy feladat nevű Ad hoc Sales Data Backup feladatot, amely François Ajenstat értesítést ad (pagerrel, e-mailrel vagy hálózati felugró üzenettel), ha a feladat sikertelenül megbukik, és sikeres teljesítés esetén törli a feladatot.
Megjegyzés:
Ez a példa feltételezi, hogy már létezik egy nevelt François Ajenstat operátor és egy login név 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
Kapcsolódó tartalom
- 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)