Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Skapar ett nytt jobb som körs av SQL Server Agent-tjänsten.
Transact-SQL syntaxkonventioner
Viktigt!
På Azure SQL Managed Instancestöds de flesta, men inte alla SQL Server Agent-funktioner för närvarande. Se Azure SQL Managed Instance T-SQL-skillnader från SQL Server för detaljer.
Syntax
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
Namnet på tjänsten. Namnet måste vara unikt och får inte innehålla procentuell (%) tecknet.
@job_name är nvarchar(128), utan standard. Obligatoriskt.
@enabled
Indikerar statusen för det tillagda jobbet.
Aktiverat är Tinyint, med standardinställningen ( 1 aktiverad). Om 0, är jobbet inte aktiverat och körs inte enligt schemat; dock kan det köras manuellt.
@description
Beskrivningen av jobbet.
@description är nvarchar(512), med standardvärdet .NULL Om @description utelämnas används N'No description available' den.
@start_step_id
Identifieringsnumret för det första steget som ska utföras för jobbet.
@start_step_id är int, med standardvärdet .1
@category_name
Kategorin för jobbet.
@category_name är sysname, med standardvärdet .NULL
@category_id
En språkoberoende mekanism för att specificera en jobbkategori.
@category_id är int, med standardvärdet .NULL
@owner_login_name
Namnet på inloggningen som äger jobbet.
@owner_login_name är sysname, med standardvärdet , NULLvilket tolkas som det aktuella inloggningsnamnet. Endast medlemmar i sysadmin-fastserverrollen kan sätta eller ändra värdet för @owner_login_name. Om användare som inte är medlemmar i sysadmin-rollen sätter eller ändrar värdet på @owner_login_name, misslyckas exekveringen av denna lagrade procedur och ett fel returneras.
@notify_level_eventlog
Ett värde som anger när en post ska placeras i Microsoft Windows applikationslogg för detta jobb. @notify_level_eventlog är int, och kan vara ett av dessa värden:
| Värde | Description |
|---|---|
0 |
Aldrig |
1 |
Vid framgång |
2 (standardinställning) |
Vid fel |
3 |
Alltid |
@notify_level_email
Ett värde som anger när ett e-postmeddelande ska skickas när detta jobb är slutfört.
@notify_level_email är int, med standardvärdet , 0vilket indikerar aldrig.
@notify_level_email använder samma värden som @notify_level_eventlog.
@notify_level_netsend
Ett värde som anger när ett nätverksmeddelande ska skickas efter att detta jobb är slutfört.
@notify_level_netsend är int, med standardvärdet , 0vilket indikerar aldrig.
@notify_level_netsend använder samma värden som @notify_level_eventlog.
@notify_level_page
Ett värde som anger när en sida ska skickas när detta jobb är slutfört.
@notify_level_page är int, med en standard på 0, vilket indikerar aldrig.
@notify_level_page använder samma värden som @notify_level_eventlog.
@notify_email_operator_name
E-postadressens namn på personen som ska skickas e-post till när @notify_email_operator_name nås.
@notify_email_operator_name är sysname, med standardvärdet .NULL
@notify_netsend_operator_name
Namnet på operatören som nätverksmeddelandet skickas till efter slutförandet av detta jobb.
@notify_netsend_operator_name är sysname, med standardvärdet .NULL
@notify_page_operator_name
Namnet på personen som ska ringas när detta uppdrag är slutfört.
@notify_page_operator_name är sysname, med standardvärdet .NULL
@delete_level
Ett värde som anger när jobbet ska tas bort.
delete_value är int, med standardvärdet , 0vilket betyder aldrig.
@delete_level använder samma värden som @notify_level_eventlog.
Anmärkning
När @delete_level är 3, körs jobbet endast en gång, oavsett vilka scheman som definieras för jobbet. Dessutom, om ett jobb raderar sig självt, raderas även all historik för jobbet.
@job_id UTDATA
Jobbets identifieringsnummer tilldelats jobbet om det skapas framgångsrikt.
@job_id är en utdatavariabel av typen uniqueidentifier, med standardvärdet .NULL
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Resultatuppsättning
Ingen.
Anmärkningar
@originating_server finns i sp_add_job, men listas inte under Argument.
@originating_server är reserverad för internt bruk.
Efter sp_add_job att ha körts för att lägga till ett jobb sp_add_jobstep kan det användas för att lägga till steg som utför aktiviteterna för jobbet.
sp_add_jobschedule kan användas för att skapa schemat som SQL Server Agent-tjänsten använder för att köra jobbet.
Använd sp_add_jobserver för att ställa in SQL Server-instansen där jobbet körs, och sp_delete_jobserver för att ta bort jobbet från SQL Server-instansen. Om jobbet körs på en eller flera målservrar i en multiservermiljö, använd sp_apply_job_to_targets för att ställa in målservrarna eller målservergrupper för jobbet. För att ta bort jobb från målservrar eller målservergrupper, använd sp_remove_job_from_targets.
Funktionen Multi Server Administration (MSX/TSX) stöds inte på Azure SQL Managed Instance.
SQL Server Management Studio är ett enkelt, grafiskt sätt att hantera jobb och är det rekommenderade sättet att skapa och hantera jobbinfrastrukturen.
Denna lagrade propud delar namnet på sp_add_job med ett liknande objekt för Azure Elastic Jobs-tjänsten för Azure SQL Database. För information om elastic jobs-versionen, se jobs.sp_add_job (Azure Elastic Jobs).
Permissions
Du kan ge EXECUTE behörigheter för denna procedur, men dessa behörigheter kan åsidosättas vid en SQL Server-uppgradering.
Andra användare måste tilldelas en av följande SQL Server Agent-fasta databasroller i databasen msdb :
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
För detaljer om behörigheterna för dessa roller, se SQL Server Agent Fixed Database Roles.
Endast medlemmar i sysadmin-fastserverrollen kan sätta eller ändra värdet för @owner_login_name. Om användare som inte är medlemmar i sysadmin-rollen sätter eller ändrar värdet på @owner_login_name, misslyckas exekveringen av denna lagrade procedur och ett fel returneras.
Examples
A. Lägg till ett jobb
Detta exempel lägger till ett nytt jobb som heter NightlyBackups.
USE msdb;
GO
EXECUTE dbo.sp_add_job @job_name = N'NightlyBackups';
GO
B. Lägg till ett jobb med personsökare, e-post och internetinformation
Detta exempel skapar ett jobb som Ad hoc Sales Data Backup heter och meddelar François Ajenstat (via personsökare, e-post eller nätverkspopup) om jobbet misslyckas, och raderar jobbet när det slutförs.
Anmärkning
Detta exempel antar att en operatör med namn François Ajenstat och en inloggning redan françoisa existerar.
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
Relaterat innehåll
- 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)