Skapa och hantera SQL (T-SQL) med Transact-SQL (förhandsversion)

GÄLLER FÖR: Azure SQL Database

Den här artikeln innehåller många exempelscenarier för att komma igång med att arbeta med elasticitetjobb med T-SQL.

I exemplen används de lagrade procedurernaoch vyerna som är tillgängliga i jobbdatabasen.

Transact-SQL (T-SQL) används för att skapa, konfigurera, köra och hantera jobb. Det finns inte stöd för att skapa agenten Elasticitet i T-SQL, så du måste först skapa en agent inom ett flexibelt jobb med portalen eller PowerShell.

Skapa en autentiseringsuppgifter för jobbkörningen

Autentiserings autentiserings autentiseringsuppgifter används för att ansluta till måldatabaser för körning av skript. Autentiseringsbehörigheterna måste ha rätt behörighet för de databaser som anges av målgruppen för att skriptet ska kunna köras. När du använder en logisk SQL-server och/eller poola målgruppsmedlem rekommenderar vi att du skapar en autentiseringsuppgifter som du kan använda för att uppdatera autentiseringssuppgifter innan de utökas innan servern och/eller poolen vid körningen av jobbet utökas. Databasens beomfångade autentiseringsuppgifter skapas i jobbagentens databas. Samma autentiseringsuppgifter måste användas för att skapa en inloggning och skapa en användare från inloggning för att ge behörigheten Logga in databas för måldatabasen.

--Connect to the new job database specified when creating the Elastic Job agent

-- Create a database master key if one does not already exist, using your own password.  
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<EnterStrongPasswordHere>';  
  
-- Create two database scoped credentials.  
-- The credential to connect to the Azure SQL logical server, to execute jobs
CREATE DATABASE SCOPED CREDENTIAL job_credential WITH IDENTITY = 'job_credential',
    SECRET = '<EnterStrongPasswordHere>';
GO
-- The credential to connect to the Azure SQL logical server, to refresh the database metadata in server
CREATE DATABASE SCOPED CREDENTIAL refresh_credential WITH IDENTITY = 'refresh_credential',
    SECRET = '<EnterStrongPasswordHere>';
GO

Skapa en målgrupp (servrar)

I följande exempel visas hur du kör ett jobb mot alla databaser på en server.
Anslut till jobbdatabasen och kör följande kommando:

-- Connect to the job database specified when creating the job agent

-- Add a target group containing server(s)
EXEC jobs.sp_add_target_group 'ServerGroup1';

-- Add a server target member
EXEC jobs.sp_add_target_group_member
@target_group_name = 'ServerGroup1',
@target_type = 'SqlServer',
@refresh_credential_name = 'refresh_credential', --credential required to refresh the databases in a server
@server_name = 'server1.database.windows.net';

--View the recently created target group and target group members
SELECT * FROM jobs.target_groups WHERE target_group_name='ServerGroup1';
SELECT * FROM jobs.target_group_members WHERE target_group_name='ServerGroup1';

Utesluta en enskild databas

I följande exempel visas hur du kör ett jobb mot alla databaser på en server, förutom för databasen MappingDB.
Anslut till jobbdatabasen och kör följande kommando:

--Connect to the job database specified when creating the job agent

-- Add a target group containing server(s)
EXEC [jobs].sp_add_target_group N'ServerGroup';
GO

-- Add a server target member
EXEC [jobs].sp_add_target_group_member
@target_group_name = N'ServerGroup',
@target_type = N'SqlServer',
@refresh_credential_name = N'refresh_credential', --credential required to refresh the databases in a server
@server_name = N'London.database.windows.net';
GO

-- Add a server target member
EXEC [jobs].sp_add_target_group_member
@target_group_name = N'ServerGroup',
@target_type = N'SqlServer',
@refresh_credential_name = N'refresh_credential', --credential required to refresh the databases in a server
@server_name = 'server2.database.windows.net';
GO

--Exclude a database target member from the server target group
EXEC [jobs].sp_add_target_group_member
@target_group_name = N'ServerGroup',
@membership_type = N'Exclude',
@target_type = N'SqlDatabase',
@server_name = N'server1.database.windows.net',
@database_name = N'MappingDB';
GO

--View the recently created target group and target group members
SELECT * FROM [jobs].target_groups WHERE target_group_name = N'ServerGroup';
SELECT * FROM [jobs].target_group_members WHERE target_group_name = N'ServerGroup';

Skapa en målgrupp (pooler)

I följande exempel visas hur du riktar alla databaser till en eller flera pooler med pooler.
Anslut till jobbdatabasen och kör följande kommando:

--Connect to the job database specified when creating the job agent

-- Add a target group containing pool(s)
EXEC jobs.sp_add_target_group 'PoolGroup';

-- Add an elastic pool(s) target member
EXEC jobs.sp_add_target_group_member
@target_group_name = 'PoolGroup',
@target_type = 'SqlElasticPool',
@refresh_credential_name = 'refresh_credential', --credential required to refresh the databases in a server
@server_name = 'server1.database.windows.net',
@elastic_pool_name = 'ElasticPool-1';

-- View the recently created target group and target group members
SELECT * FROM jobs.target_groups WHERE target_group_name = N'PoolGroup';
SELECT * FROM jobs.target_group_members WHERE target_group_name = N'PoolGroup';

Distribuera nytt schema i många databaser

I följande exempel visas hur du distribuerar ett nytt schema till alla databaser.
Anslut till jobbdatabasen och kör följande kommando:

--Connect to the job database specified when creating the job agent

--Add job for create table
EXEC jobs.sp_add_job @job_name = 'CreateTableTest', @description = 'Create Table Test';

-- Add job step for create table
EXEC jobs.sp_add_jobstep @job_name = 'CreateTableTest',
@command = N'IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = object_id(''Test''))
CREATE TABLE [dbo].[Test]([TestId] [int] NOT NULL);',
@credential_name = 'job_credential',
@target_group_name = 'PoolGroup';

Datainsamling med inbyggda parametrar

I många datainsamlingsscenarier kan det vara användbart att ta med några av de här skriptvariablerna för att underlätta processen efter processen av jobbet.

  • $(job_name)
  • $(job_id)
  • $(job_version)
  • $(step_id)
  • $(step_name)
  • $(job_execution_id)
  • $(job_execution_create_time)
  • $(target_group_name)

Om du till exempel vill gruppera alla resultat från samma jobbkörning tillsammans använder du $(job_execution_id) enligt följande kommando:

@command= N' SELECT DB_NAME() DatabaseName, $(job_execution_id) AS job_execution_id, * FROM sys.dm_db_resource_stats WHERE end_time > DATEADD(mi, -20, GETDATE());'

Övervaka databasprestanda

I följande exempel skapas ett nytt jobb för att samla in prestandadata från flera databaser.

Som standard skapar jobbagenten utdatatabellen för att lagra returnerade resultat. Därför måste det databashuvudnamn som är kopplat till autentiseringsbehörigheterna för utdata ha minst följande behörigheter: i databasen, , , på utdatatabellen eller dess schema och i CREATE TABLEALTERSELECTINSERTDELETESELECTCREATE TABLE

Om du vill skapa tabellen manuellt i förväg måste den ha följande egenskaper:

  1. Kolumner med rätt namn och datatyper för resultatuppsättningen.
  2. Ytterligare kolumn för internal_execution_id med datatypen uniqueidentifier.
  3. Ett index som inte är inkluderat IX_<TableName>_Internal_Execution_ID med namnet internal_execution_id kolumn.
  4. Alla behörigheter som anges ovan utom CREATE TABLE behörighet för databasen.

Anslut till jobbdatabasen och kör följande kommandon:

--Connect to the job database specified when creating the job agent

-- Add a job to collect perf results
EXEC jobs.sp_add_job @job_name ='ResultsJob', @description='Collection Performance data from all customers'

-- Add a job step w/ schedule to collect results
EXEC jobs.sp_add_jobstep
@job_name = 'ResultsJob',
@command = N' SELECT DB_NAME() DatabaseName, $(job_execution_id) AS job_execution_id, * FROM sys.dm_db_resource_stats WHERE end_time > DATEADD(mi, -20, GETDATE());',
@credential_name = 'job_credential',
@target_group_name = 'PoolGroup',
@output_type = 'SqlDatabase',
@output_credential_name = 'job_credential',
@output_server_name = 'server1.database.windows.net',
@output_database_name = '<resultsdb>',
@output_table_name = '<resultstable>';

--Create a job to monitor pool performance

--Connect to the job database specified when creating the job agent

-- Add a target group containing Elastic Job database
EXEC jobs.sp_add_target_group 'ElasticJobGroup';

-- Add a server target member
EXEC jobs.sp_add_target_group_member
@target_group_name = 'ElasticJobGroup',
@target_type = 'SqlDatabase',
@server_name = 'server1.database.windows.net',
@database_name = 'master';

-- Add a job to collect perf results
EXEC jobs.sp_add_job
@job_name = 'ResultsPoolsJob',
@description = 'Demo: Collection Performance data from all pools',
@schedule_interval_type = 'Minutes',
@schedule_interval_count = 15;

-- Add a job step w/ schedule to collect results
EXEC jobs.sp_add_jobstep
@job_name='ResultsPoolsJob',
@command=N'declare @now datetime
DECLARE @startTime datetime
DECLARE @endTime datetime
DECLARE @poolLagMinutes datetime
DECLARE @poolStartTime datetime
DECLARE @poolEndTime datetime
SELECT @now = getutcdate ()
SELECT @startTime = dateadd(minute, -15, @now)
SELECT @endTime = @now
SELECT @poolStartTime = dateadd(minute, -30, @startTime)
SELECT @poolEndTime = dateadd(minute, -30, @endTime)

SELECT elastic_pool_name , end_time, elastic_pool_dtu_limit, avg_cpu_percent, avg_data_io_percent, avg_log_write_percent, max_worker_percent, max_session_percent,
        avg_storage_percent, elastic_pool_storage_limit_mb FROM sys.elastic_pool_resource_stats
        WHERE end_time > @poolStartTime and end_time <= @poolEndTime;
'),
@credential_name = 'job_credential',
@target_group_name = 'ElasticJobGroup',
@output_type = 'SqlDatabase',
@output_credential_name = 'job_credential',
@output_server_name = 'server1.database.windows.net',
@output_database_name = 'resultsdb',
@output_table_name = 'resultstable';

Visa jobbdefinitioner

I följande exempel visas hur du visar aktuella jobbdefinitioner.
Anslut till jobbdatabasen och kör följande kommando:

--Connect to the job database specified when creating the job agent

-- View all jobs
SELECT * FROM jobs.jobs;

-- View the steps of the current version of all jobs
SELECT js.* FROM jobs.jobsteps js
JOIN jobs.jobs j
  ON j.job_id = js.job_id AND j.job_version = js.job_version;

-- View the steps of all versions of all jobs
SELECT * FROM jobs.jobsteps;

Påbörja oplanerad körning av ett jobb

I följande exempel visas hur du startar ett jobb direkt.
Anslut till jobbdatabasen och kör följande kommando:

--Connect to the job database specified when creating the job agent

-- Execute the latest version of a job
EXEC jobs.sp_start_job 'CreateTableTest';

-- Execute the latest version of a job and receive the execution id
declare @je uniqueidentifier;
exec jobs.sp_start_job 'CreateTableTest', @job_execution_id = @je output;
select @je;

select * from jobs.job_executions where job_execution_id = @je;

-- Execute a specific version of a job (e.g. version 1)
exec jobs.sp_start_job 'CreateTableTest', 1;

Schemalägg körning av ett jobb

Följande exempel visar hur du schemalägger ett jobb för framtida körning.
Anslut till jobbdatabasen och kör följande kommando:

--Connect to the job database specified when creating the job agent

EXEC jobs.sp_update_job
@job_name = 'ResultsJob',
@enabled=1,
@schedule_interval_type = 'Minutes',
@schedule_interval_count = 15;

Övervaka status för körning av jobb

I följande exempel visas hur du visar körningsstatusinformation för alla jobb.
Anslut till jobbdatabasen och kör följande kommando:

--Connect to the job database specified when creating the job agent

--View top-level execution status for the job named 'ResultsPoolJob'
SELECT * FROM jobs.job_executions
WHERE job_name = 'ResultsPoolsJob' and step_id IS NULL
ORDER BY start_time DESC;

--View all top-level execution status for all jobs
SELECT * FROM jobs.job_executions WHERE step_id IS NULL
ORDER BY start_time DESC;

--View all execution statuses for job named 'ResultsPoolsJob'
SELECT * FROM jobs.job_executions
WHERE job_name = 'ResultsPoolsJob'
ORDER BY start_time DESC;

-- View all active executions
SELECT * FROM jobs.job_executions
WHERE is_active = 1
ORDER BY start_time DESC;

Avbryta ett jobb

I följande exempel visas hur du avbryter ett jobb.
Anslut till jobbdatabasen och kör följande kommando:

--Connect to the job database specified when creating the job agent

-- View all active executions to determine job execution id
SELECT * FROM jobs.job_executions
WHERE is_active = 1 AND job_name = 'ResultPoolsJob'
ORDER BY start_time DESC;
GO

-- Cancel job execution with the specified job execution id
EXEC jobs.sp_stop_job '01234567-89ab-cdef-0123-456789abcdef';

Ta bort gammal jobbhistorik

I följande exempel visas hur du tar bort jobbhistoriken före ett visst datum.
Anslut till jobbdatabasen och kör följande kommando:

--Connect to the job database specified when creating the job agent

-- Delete history of a specific job's executions older than the specified date
EXEC jobs.sp_purge_jobhistory @job_name='ResultPoolsJob', @oldest_date='2016-07-01 00:00:00';

--Note: job history is automatically deleted if it is >45 days old

Ta bort ett jobb och dess jobbhistorik

I följande exempel visas hur du tar bort ett jobb och all relaterad jobbhistorik.
Anslut till jobbdatabasen och kör följande kommando:

--Connect to the job database specified when creating the job agent

EXEC jobs.sp_delete_job @job_name='ResultsPoolsJob';

--Note: job history is automatically deleted if it is >45 days old

Jobb lagrade procedurer

Följande lagrade procedurer finns i jobbdatabasen.

Lagrad procedur Beskrivning
sp_add_job Lägger till ett nytt jobb.
sp_update_job Uppdaterar ett befintligt jobb.
sp_delete_job Tar bort ett befintligt jobb.
sp_add_jobstep Lägger till ett steg i ett jobb.
sp_update_jobstep Uppdaterar ett jobbsteg.
sp_delete_jobstep Tar bort ett jobbsteg.
sp_start_job Börjar köra ett jobb.
sp_stop_job Avbryter en jobbkörning.
sp_add_target_group Lägger till en målgrupp.
sp_delete_target_group Tar bort en målgrupp.
sp_add_target_group_member Lägger till en databas eller grupp med databaser i en målgrupp.
sp_delete_target_group_member Tar bort en målgruppsmedlem från en målgrupp.
sp_purge_jobhistory Tar bort historikposterna för ett jobb.

sp_add_job

Lägger till ett nytt jobb.

Syntax

[jobs].sp_add_job [ @job_name = ] 'job_name'  
  [ , [ @description = ] 'description' ]
  [ , [ @enabled = ] enabled ]
  [ , [ @schedule_interval_type = ] schedule_interval_type ]  
  [ , [ @schedule_interval_count = ] schedule_interval_count ]
  [ , [ @schedule_start_time = ] schedule_start_time ]
  [ , [ @schedule_end_time = ] schedule_end_time ]
  [ , [ @job_id = ] job_id OUTPUT ]

Argument

[ @job_name = ] 'job_name'
Namnet på jobbet. Namnet måste vara unikt och får inte innehålla procenttecknet (%). job_name är nvarchar(128), utan standard.

[ @description = ] 'beskrivning'
Beskrivning av jobbet. beskrivning är nvarchar(512), med standardvärdet NULL. Om en beskrivning utelämnas används en tom sträng.

[ @enabled = ] aktiverat
Om jobbets schema har aktiverats. Aktiverad är bit, med standardvärdet 0 (inaktiverad). Om 0 är jobbet inte aktiverat och körs inte enligt schemat. det kan dock köras manuellt. Om 1 körs jobbet enligt schemat och kan även köras manuellt.

[ @schedule_interval_type =] schedule_interval_type
Värde anger när jobbet ska utföras. schedule_interval_type är nvarchar(50), med standardvärdet En gång, och kan vara något av följande värden:

  • "En gång",
  • "Minuter",
  • "Timmar",
  • "Dagar",
  • "Veckor",
  • "Månader"

[ @schedule_interval_count = ] schedule_interval_count
Antalet schedule_interval_count som ska inträffa mellan varje körning av jobbet. schedule_interval_count standardinställningen är 1. Värdet måste vara större än eller lika med 1.

[ @schedule_start_time = ] schedule_start_time
Datum då körningen kan påbörjas. schedule_start_time är DATETIME2, med standardvärdet för 0001-01-01 00:00:00.0000000.

[ @schedule_end_time = ] schedule_end_time
Datum då körningen kan stoppas. schedule_end_time är DATETIME2, med standardvärdet för 9999-12-31 11:59:59.0000000.

[ @job_id = ] job_id UTDATA
Jobb-ID-numret som tilldelats jobbet om det har skapats. job_id är en utdatavariabel av typen uniqueidentifier.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

sp_add_job måste köras från jobbagentdatabasen som anges när du skapar jobbagenten. När sp_add_job körts för att lägga till ett jobb kan sp_add_jobstep användas för att lägga till steg som utför aktiviteterna för jobbet. Jobbets ursprungliga versionsnummer är 0, som ökas till 1 när det första steget läggs till.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

sp_update_job

Uppdaterar ett befintligt jobb.

Syntax

[jobs].sp_update_job [ @job_name = ] 'job_name'  
  [ , [ @new_name = ] 'new_name' ]
  [ , [ @description = ] 'description' ]
  [ , [ @enabled = ] enabled ]
  [ , [ @schedule_interval_type = ] schedule_interval_type ]  
  [ , [ @schedule_interval_count = ] schedule_interval_count ]
  [ , [ @schedule_start_time = ] schedule_start_time ]
  [ , [ @schedule_end_time = ] schedule_end_time ]

Argument

[ @job_name = ] 'job_name'
Namnet på jobbet som ska uppdateras. job_name är nvarchar(128).

[ @new_name = ] 'new_name'
Det nya namnet på jobbet. new_name är nvarchar(128).

[ @description = ] 'beskrivning'
Beskrivning av jobbet. beskrivning är nvarchar(512).

[ @enabled = ] aktiverat
Anger om jobbets schema är aktiverat (1) eller inte (0). Aktiverad är biten.

[ @schedule_interval_type= ] schedule_interval_type
Värde anger när jobbet ska utföras. schedule_interval_type är nvarchar(50) och kan vara något av följande värden:

  • "En gång",
  • "Minuter",
  • "Timmar",
  • "Dagar",
  • "Veckor",
  • "Månader"

[ @schedule_interval_count= ] schedule_interval_count
Antalet schedule_interval_count som ska inträffa mellan varje körning av jobbet. schedule_interval_count standardinställningen är 1. Värdet måste vara större än eller lika med 1.

[ @schedule_start_time= ] schedule_start_time
Datum då körningen kan påbörjas. schedule_start_time är DATETIME2, med standardvärdet för 0001-01-01 00:00:00.0000000.

[ @schedule_end_time= ] schedule_end_time
Datum då körningen kan stoppas. schedule_end_time är DATETIME2, med standardvärdet för 9999-12-31 11:59:59.0000000.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

När sp_add_job körts för att lägga till ett jobb kan sp_add_jobstep användas för att lägga till steg som utför aktiviteterna för jobbet. Jobbets ursprungliga versionsnummer är 0, som ökas till 1 när det första steget läggs till.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

sp_delete_job

Tar bort ett befintligt jobb.

Syntax

[jobs].sp_delete_job [ @job_name = ] 'job_name'
  [ , [ @force = ] force ]

Argument

[ @job_name = ] 'job_name'
Namnet på det jobb som ska tas bort. job_name är nvarchar(128).

[ @force = ] kraft
Anger om du vill ta bort om jobbet har några pågående körningar och avbryter alla pågående körningar (1) eller misslyckas om några jobbkörningar pågår (0). kraft är bit.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

Jobbhistorik tas automatiskt bort när ett jobb tas bort.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

sp_add_jobstep

Lägger till ett steg i ett jobb.

Syntax

[jobs].sp_add_jobstep [ @job_name = ] 'job_name'
     [ , [ @step_id = ] step_id ]
     [ , [ @step_name = ] step_name ]
     [ , [ @command_type = ] 'command_type' ]
     [ , [ @command_source = ] 'command_source' ]  
     , [ @command = ] 'command'
     , [ @credential_name = ] 'credential_name'
     , [ @target_group_name = ] 'target_group_name'
     [ , [ @initial_retry_interval_seconds = ] initial_retry_interval_seconds ]
     [ , [ @maximum_retry_interval_seconds = ] maximum_retry_interval_seconds ]
     [ , [ @retry_interval_backoff_multiplier = ] retry_interval_backoff_multiplier ]
     [ , [ @retry_attempts = ] retry_attempts ]
     [ , [ @step_timeout_seconds = ] step_timeout_seconds ]
     [ , [ @output_type = ] 'output_type' ]
     [ , [ @output_credential_name = ] 'output_credential_name' ]
     [ , [ @output_subscription_id = ] 'output_subscription_id' ]
     [ , [ @output_resource_group_name = ] 'output_resource_group_name' ]
     [ , [ @output_server_name = ] 'output_server_name' ]
     [ , [ @output_database_name = ] 'output_database_name' ]
     [ , [ @output_schema_name = ] 'output_schema_name' ]
     [ , [ @output_table_name = ] 'output_table_name' ]
     [ , [ @job_version = ] job_version OUTPUT ]
     [ , [ @max_parallelism = ] max_parallelism ]

Argument

[ @job_name = ] 'job_name'
Namnet på det jobb där du vill lägga till steget. job_name är nvarchar(128).

[ @step_id = ] step_id
Sekvensidentifieringsnumret för jobbsteget. Stegidentifieringsnummer börjar på 1 och ökar utan mellanrum. Om ett befintligt steg redan har det här ID:t ökas id:t i det steget och alla efterföljande steg så att det nya steget kan infogas i sekvensen. Om detta inte anges step_id automatiskt till den sista i sekvensen av steg. step_id är ett helto.

[ @step_name = ] step_name
Namnet på steget. Måste anges, förutom det första steget i ett jobb där (för att underlätta) har standardnamnet "JobStep". step_name är nvarchar(128).

[ @command_type = ] 'command_type'
Typen av kommando som körs av den här projekttypen. command_type är nvarchar(50), med standardvärdet TSql, vilket innebär att parameterns värde är ett @command_type T-SQL skript.

Om det anges måste värdet vara TSql.

[ @command_source = ] "command_source"
Typ av plats där kommandot lagras. command_source är nvarchar(50), med standardvärdet Inline, vilket innebär att parameterns värde är @command_source den literala texten för kommandot.

Om det anges måste värdet vara infogade.

[ @command = ] 'kommando'
Kommandot måste vara giltigt T-SQL och körs sedan i det här jobbsteget. kommando är nvarchar(max), med standardvärdet NULL.

[ @credential_name = ] 'credential_name'
Namnet på databasens begränsade autentiseringsuppgifter som lagras i den här jobbkontrolldatabasen som används för att ansluta till var och en av måldatabaserna i målgruppen när det här steget körs. credential_name är nvarchar(128).

[ @target_group_name = ] "target-group_name"
Namnet på målgruppen som innehåller måldatabaserna som jobbet ska utföras på. target_group_name är nvarchar(128).

[ @initial_retry_interval_seconds = ] initial_retry_interval_seconds
Fördröjningen före det första försöket, om jobbsteget misslyckas på det första körningsförsöket. initial_retry_interval_seconds standardvärdet 1.

[ @maximum_retry_interval_seconds = ] maximum_retry_interval_seconds
Den maximala fördröjningen mellan återförsök. Om fördröjningen mellan försök skulle bli större än det här värdet så måste den i stället användas för det här värdet. maximum_retry_interval_seconds standardvärdet 120.

[ @retry_interval_backoff_multiplier = ] retry_interval_backoff_multiplier
Multipliceraren som ska användas för förskjutningen av försöket om flera körningsförsök för jobbsteg misslyckas. Om det första försöket till exempel hade en fördröjning på 5 sekunder och backoff-multiplikatorn är 2,0, får det andra försöket en fördröjning på 10 sekunder och det tredje försöket har en fördröjning på 20 sekunder. retry_interval_backoff_multiplier är real, med standardvärdet 2,0.

[ @retry_attempts = ] retry_attempts
Antalet gånger som körningen ska försöka igen om det ursprungliga försöket misslyckas. Om värdet för retry_attempts är 10 görs det 1 första försöket och 10 försök igen, vilket ger totalt 11 försök. Om det slutliga försöket misslyckas avslutas jobbkörningen med livscykeln Misslyckades. retry_attempts standardvärdet 10.

[ @step_timeout_seconds = ] step_timeout_seconds
Den maximala tid som tillåts för steget att köras. Om tiden överskrids avslutas jobbkörningen med livscykeln TimedOut. step_timeout_seconds int, med standardvärdet 43 200 sekunder (12 timmar).

[ @output_type = ] 'output_type'
Om inte null skrivs den typ av mål som kommandots första resultatuppsättning skrivs till. output_type är nvarchar(50), med standardvärdet NULL.

Om det anges måste värdet vara SqlDatabase.

[ @output_credential_name = ] "output_credential_name"
Om det inte är null, används namnet på de autentiseringsuppgifter i databasen som används för att ansluta till måldatabasen för utdata. Måste anges om output_type är lika med SqlDatabase. output_credential_name är nvarchar(128), med standardvärdet NULL.

[ @output_subscription_id = ] 'output_subscription_id'
Beskrivning av behov.

[ @output_resource_group_name = ] "output_resource_group_name"
Beskrivning av behov.

[ @output_server_name = ] "output_server_name"
Om inte null, det fullständiga kvalificerade DNS-namnet för servern som innehåller måldatabasen för utdata. Måste anges om output_type är lika med SqlDatabase. output_server_name är nvarchar(256), med standardvärdet NULL.

[ @output_database_name = ] 'output_database_name'
Om inte null, namnet på databasen som innehåller måltabellen för utdata. Måste anges om output_type är lika med SqlDatabase. output_database_name är nvarchar(128), med standardvärdet NULL.

[ @output_schema_name = ] 'output_schema_name'
Om inte null, namnet på den SQL som innehåller måltabellen för utdata. Om output_type är lika med SqlDatabase är standardvärdet dbo. output_schema_name är nvarchar(128).

[ @output_table_name = ] 'output_table_name'
Om det inte är null skrivs namnet på tabellen som kommandots första resultatuppsättning kommer att skrivas till. Om tabellen inte redan finns skapas den baserat på schemat för uppsättningen med returnerade resultat. Måste anges om output_type är lika med SqlDatabase. output_table_name är nvarchar(128), med standardvärdet NULL.

[ @job_version = ] job_version UTDATA
Utdataparameter som tilldelas det nya jobbversionsnumret. job_version är helt int.

[ @max_parallelism = ] max_parallelism UTDATA
Den maximala parallellitetsnivån per elasticitetpool. Om detta anges begränsas jobbsteget till att endast köras på maximalt så många databaser per elasticitetpool. Det här gäller för varje elasticitetpool som antingen ingår direkt i målgruppen eller är inuti en server som ingår i målgruppen. max_parallelism är helt int.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

När sp_add_jobstep lyckas ökas jobbnumret för det aktuella versionsnumret. Nästa gång jobbet körs används den nya versionen. Om jobbet körs för närvarande innehåller den körningen inte det nya steget.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

sp_update_jobstep

Uppdaterar ett jobbsteg.

Syntax

[jobs].sp_update_jobstep [ @job_name = ] 'job_name'
     [ , [ @step_id = ] step_id ]
     [ , [ @step_name = ] 'step_name' ]
     [ , [ @new_id = ] new_id ]
     [ , [ @new_name = ] 'new_name' ]
     [ , [ @command_type = ] 'command_type' ]
     [ , [ @command_source = ] 'command_source' ]  
     , [ @command = ] 'command'
     , [ @credential_name = ] 'credential_name'
     , [ @target_group_name = ] 'target_group_name'
     [ , [ @initial_retry_interval_seconds = ] initial_retry_interval_seconds ]
     [ , [ @maximum_retry_interval_seconds = ] maximum_retry_interval_seconds ]
     [ , [ @retry_interval_backoff_multiplier = ] retry_interval_backoff_multiplier ]
     [ , [ @retry_attempts = ] retry_attempts ]
     [ , [ @step_timeout_seconds = ] step_timeout_seconds ]
     [ , [ @output_type = ] 'output_type' ]
     [ , [ @output_credential_name = ] 'output_credential_name' ]
     [ , [ @output_server_name = ] 'output_server_name' ]
     [ , [ @output_database_name = ] 'output_database_name' ]
     [ , [ @output_schema_name = ] 'output_schema_name' ]
     [ , [ @output_table_name = ] 'output_table_name' ]
     [ , [ @job_version = ] job_version OUTPUT ]
     [ , [ @max_parallelism = ] max_parallelism ]

Argument

[ @job_name = ] 'job_name'
Namnet på det jobb som steget hör till. job_name är nvarchar(128).

[ @step_id = ] step_id
Id-numret för jobbsteget som ska ändras. Antingen step_id eller step_name måste anges. step_id är ett helto.

[ @step_name = ] 'step_name'
Namnet på det steg som ska ändras. Antingen step_id eller step_name måste anges. step_name är nvarchar(128).

[ @new_id = ] new_id
Det nya sekvens-ID-numret för jobbsteget. Stegidentifieringsnummer börjar på 1 och ökar utan mellanrum. Om ett steg ordnas om numreras de andra stegen om automatiskt.

[ @new_name = ] 'new_name'
Det nya namnet på steget. new_name är nvarchar(128).

[ @command_type = ] "command_type"
Typen av kommando som körs av den här projekttypen. command_type är nvarchar(50), med standardvärdet TSql, vilket innebär att parameterns värde är ett @command_type T-SQL-skript.

Om det anges måste värdet vara TSql.

[ @command_source = ] "command_source"
Typ av plats där kommandot lagras. command_source är nvarchar(50), med standardvärdet Infogade, vilket innebär att parameterns värde är @command_source den literala texten för kommandot.

Om det anges måste värdet vara infogade.

[ @command = ] 'kommando'
Kommandona måste vara giltiga T-SQL och sedan utföras av det här jobbsteget. kommando är nvarchar(max), med standardvärdet NULL.

[ @credential_name = ] 'credential_name'
Namnet på databasens begränsade autentiseringsuppgifter som lagras i den här jobbkontrolldatabasen som används för att ansluta till var och en av måldatabaserna i målgruppen när det här steget körs. credential_name är nvarchar(128).

[ @target_group_name = ] "target-group_name"
Namnet på målgruppen som innehåller måldatabaserna som jobbet ska utföras på. target_group_name är nvarchar(128).

[ @initial_retry_interval_seconds = ] initial_retry_interval_seconds
Fördröjningen före det första försöket, om jobbsteget misslyckas på det första körningsförsöket. initial_retry_interval_seconds standardvärdet 1.

[ @maximum_retry_interval_seconds = ] maximum_retry_interval_seconds
Den maximala fördröjningen mellan återförsök. Om fördröjningen mellan försök skulle bli större än det här värdet så måste den i stället användas för det här värdet. maximum_retry_interval_seconds standardvärdet 120.

[ @retry_interval_backoff_multiplier = ] retry_interval_backoff_multiplier
Multipliceraren som ska användas för förskjutningen av försöket om flera körningsförsök för jobbsteg misslyckas. Om det första försöket till exempel hade en fördröjning på 5 sekunder och backoff-multiplikatorn är 2,0, får det andra försöket en fördröjning på 10 sekunder och det tredje försöket har en fördröjning på 20 sekunder. retry_interval_backoff_multiplier är real, med standardvärdet 2,0.

[ @retry_attempts = ] retry_attempts
Antalet gånger som körningen ska försöka igen om det ursprungliga försöket misslyckas. Om värdet retry_attempts till exempel är 10 kommer det att finnas 1 första försök och 10 försök igen, vilket ger totalt 11 försök. Om det slutliga försöket misslyckas avslutas jobbkörningen med livscykeln Misslyckades. retry_attempts standardvärdet 10.

[ @step_timeout_seconds = ] step_timeout_seconds
Den maximala tid som tillåts för steget att köras. Om tiden överskrids avslutas jobbkörningen med livscykeln TimedOut. step_timeout_seconds int, med standardvärdet 43 200 sekunder (12 timmar).

[ @output_type = ] 'output_type'
Om inte null skrivs den typ av mål som kommandots första resultatuppsättning skrivs till. Om du vill återställa värdet output_type tillbaka till NULL anger du värdet för den här parametern till '' (tom sträng). output_type är nvarchar(50), med standardvärdet NULL.

Om det anges måste värdet vara SqlDatabase.

[ @output_credential_name = ] "output_credential_name"
Om det inte är null, används namnet på de autentiseringsuppgifter i databasen som används för att ansluta till måldatabasen för utdata. Måste anges om output_type är lika med SqlDatabase. Om du vill återställa värdet output_credential_name tillbaka till NULL anger du värdet för den här parametern till '' (tom sträng). output_credential_name är nvarchar(128), med standardvärdet NULL.

[ @output_server_name = ] 'output_server_name'
Om inte null, det fullständiga kvalificerade DNS-namnet för servern som innehåller måldatabasen för utdata. Måste anges om output_type är lika med SqlDatabase. Om du vill återställa värdet output_server_name tillbaka till NULL anger du värdet för den här parametern till '' (tom sträng). output_server_name är nvarchar(256), med standardvärdet NULL.

[ @output_database_name = ] 'output_database_name'
Om inte null, namnet på databasen som innehåller måltabellen för utdata. Måste anges om output_type är lika med SqlDatabase. Om du vill återställa värdet output_database_name tillbaka till NULL anger du värdet för den här parametern till '' (tom sträng). output_database_name är nvarchar(128), med standardvärdet NULL.

[ @output_schema_name = ] 'output_schema_name'
Om inte null, namnet på den SQL som innehåller måltabellen för utdata. Om output_type är lika med SqlDatabase är standardvärdet dbo. Om du vill återställa värdet output_schema_name tillbaka till NULL anger du värdet för den här parametern till '' (tom sträng). output_schema_name är nvarchar(128).

[ @output_table_name = ] 'output_table_name'
Om det inte är null skrivs namnet på tabellen som kommandots första resultatuppsättning kommer att skrivas till. Om tabellen inte redan finns skapas den baserat på schemat för uppsättningen med returnerade resultat. Måste anges om output_type är lika med SqlDatabase. Om du vill återställa värdet output_server_name tillbaka till NULL anger du värdet för den här parametern till '' (tom sträng). output_table_name är nvarchar(128), med standardvärdet NULL.

[ @job_version = ] job_version UTDATA
Utdataparameter som tilldelas det nya jobbversionsnumret. job_version är helt int.

[ @max_parallelism = ] max_parallelism UTDATA
Den maximala parallellitetsnivån per elasticitetpool. Om detta anges begränsas jobbsteget till att endast köras på maximalt så många databaser per elasticitetpool. Det här gäller för varje elasticitetpool som antingen ingår direkt i målgruppen eller är inuti en server som ingår i målgruppen. Om du vill återställa värdet max_parallelism tillbaka till null anger du värdet för den här parametern till -1. max_parallelism är helt int.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

Pågående körningar av jobbet påverkas inte. När sp_update_jobstep lyckas ökas versionsnumret för jobbet. Nästa gång jobbet körs används den nya versionen.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare

sp_delete_jobstep

Tar bort ett jobbsteg från ett jobb.

Syntax

[jobs].sp_delete_jobstep [ @job_name = ] 'job_name'
     [ , [ @step_id = ] step_id ]
     [ , [ @step_name = ] 'step_name' ]
     [ , [ @job_version = ] job_version OUTPUT ]

Argument

[ @job_name = ] 'job_name'
Namnet på det jobb som steget tas bort från. job_name är nvarchar(128), utan standard.

[ @step_id = ] step_id
Id-numret för jobbsteget som ska tas bort. Antingen step_id eller step_name måste anges. step_id är ett helto.

[ @step_name = ] 'step_name'
Namnet på steget som ska tas bort. Antingen step_id eller step_name måste anges. step_name är nvarchar(128).

[ @job_version = ] job_version UTDATA
Utdataparameter som tilldelas det nya jobbversionsnumret. job_version är helt int.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

Pågående körningar av jobbet påverkas inte. När sp_update_jobstep lyckas ökas versionsnumret för jobbet. Nästa gång jobbet körs används den nya versionen.

De andra jobbstegen numreras automatiskt om för att fylla det avstånd som finns kvar i det borttagna jobbsteget.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

sp_start_job

Börjar köra ett jobb.

Syntax

[jobs].sp_start_job [ @job_name = ] 'job_name'
     [ , [ @job_execution_id = ] job_execution_id OUTPUT ]

Argument

[ @job_name = ] 'job_name'
Namnet på det jobb som steget tas bort från. job_name är nvarchar(128), utan standard.

[ @job_execution_id = ] job_execution_id UTDATA
Utdataparametern som tilldelas jobbkörningens ID. job_version är uniqueidentifier.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

Ingen.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

sp_stop_job

Avbryter en jobbkörning.

Syntax

[jobs].sp_stop_job [ @job_execution_id = ] ' job_execution_id '

Argument

[ @job_execution_id = ] job_execution_id
ID-numret för jobbkörningen som ska stoppas. job_execution_id är uniqueidentifier med standardinställningen NULL.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

Ingen.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

sp_add_target_group

Lägger till en målgrupp.

Syntax

[jobs].sp_add_target_group [ @target_group_name = ] 'target_group_name'
     [ , [ @target_group_id = ] target_group_id OUTPUT ]

Argument

[ @target_group_name = ] 'target_group_name'
Namnet på målgruppen som ska skapas. target_group_name är nvarchar(128), utan standard.

[ @target_group_id = ] target_group_id UTDATA Målgruppens ID-nummer som tilldelats jobbet om det har skapats. target_group_id är en utdatavariabel av typen uniqueidentifier, med standardvärdet NULL.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

Målgrupper är ett enkelt sätt att rikta ett jobb till en samling databaser.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

sp_delete_target_group

Tar bort en målgrupp.

Syntax

[jobs].sp_delete_target_group [ @target_group_name = ] 'target_group_name'

Argument

[ @target_group_name = ] 'target_group_name'
Namnet på målgruppen som ska tas bort. target_group_name är nvarchar(128), utan standard.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

Ingen.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

sp_add_target_group_member

Lägger till en databas eller grupp med databaser i en målgrupp.

Syntax

[jobs].sp_add_target_group_member [ @target_group_name = ] 'target_group_name'
         [ @membership_type = ] 'membership_type' ]
        [ , [ @target_type = ] 'target_type' ]
        [ , [ @refresh_credential_name = ] 'refresh_credential_name' ]
        [ , [ @server_name = ] 'server_name' ]
        [ , [ @database_name = ] 'database_name' ]
        [ , [ @elastic_pool_name = ] 'elastic_pool_name' ]
        [ , [ @shard_map_name = ] 'shard_map_name' ]
        [ , [ @target_id = ] 'target_id' OUTPUT ]

Argument

[ @target_group_name = ] 'target_group_name'
Namnet på målgruppen som medlemmen ska läggas till i. target_group_name är nvarchar(128), utan standard.

[ @membership_type = ] 'membership_type'
Anger om målgruppsmedlemmen inkluderas eller utesluts. target_group_name är nvarchar(128), med standardvärdet Inkludera. Giltiga värden för membership_type är Inkludera eller Exkludera.

[ @target_type = ] 'target_type'
Typen av måldatabas eller samling av databaser, inklusive alla databaser på en server, alla databaser i en elasticitetpool, alla databaser på en fragmentsk karta eller en enskild databas. target_type är nvarchar(128), utan standard. Giltiga värden för target_type är "SqlServer", "SqlElasticPool", "SqlDatabase" eller "SqlShardMap".

[ @refresh_credential_name = ] "refresh_credential_name"
Namnet på databasens begränsade autentiseringsuppgifter. refresh_credential_name är nvarchar(128), utan standard.

[ @server_name = ] 'server_name'
Namnet på den server som ska läggas till i den angivna målgruppen. server_name ska anges när target_type är "SqlServer". server_name är nvarchar(128), utan standard.

[ @database_name = ] 'database_name'
Namnet på databasen som ska läggas till i den angivna målgruppen. database_name ska anges när target_type är "SqlDatabase". database_name är nvarchar(128), utan standard.

[ @elastic_pool_name = ] "elastic_pool_name"
Namnet på den elasticitetpool som ska läggas till i den angivna målgruppen. elastic_pool_name ska anges när target_type är "SqlElasticPool". elastic_pool_name är nvarchar(128), utan standard.

[ @shard_map_name = ] "shard_map_name"
Namnet på den fragmenterade kartpool som ska läggas till i den angivna målgruppen. elastic_pool_name ska anges när target_type är "SqlShardMap". shard_map_name är nvarchar(128), utan standard.

[ @target_id = ] target_group_id UTDATA
Mål-ID-numret som tilldelats målgruppsmedlemmen, om det har skapats till målgruppen. target_id är en utdatavariabel av typen uniqueidentifier, med standardvärdet NULL. Returnera kodvärden 0 (lyckades) eller 1 (fel)

Kommentarer

Ett jobb körs på alla enskilda databaser inom en server eller i en pool med en elasticitet vid körningen, när en server eller pool med en elasticitet ingår i målgruppen.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

Exempel

I följande exempel läggs alla databaser i London- och NewYork-servrar till i gruppen Servrar som underhåller kundinformation. Du måste ansluta till jobbdatabasen som anges när du skapar jobbagenten, i det här fallet ElasticitJobs.

--Connect to the jobs database specified when creating the job agent
USE ElasticJobs;
GO

-- Add a target group containing server(s)
EXEC jobs.sp_add_target_group @target_group_name =  N'Servers Maintaining Customer Information';
GO

-- Add a server target member
EXEC jobs.sp_add_target_group_member
@target_group_name = N'Servers Maintaining Customer Information',
@target_type = N'SqlServer',
@refresh_credential_name=N'refresh_credential', --credential required to refresh the databases in server
@server_name=N'London.database.windows.net';
GO

-- Add a server target member
EXEC jobs.sp_add_target_group_member
@target_group_name = N'Servers Maintaining Customer Information',
@target_type = N'SqlServer',
@refresh_credential_name=N'refresh_credential', --credential required to refresh the databases in server
@server_name=N'NewYork.database.windows.net';
GO

--View the recently added members to the target group
SELECT * FROM [jobs].target_group_members WHERE target_group_name= N'Servers Maintaining Customer Information';
GO

sp_delete_target_group_member

Tar bort en målgruppsmedlem från en målgrupp.

Syntax

[jobs].sp_delete_target_group_member [ @target_group_name = ] 'target_group_name'
   [ , [ @target_id = ] 'target_id']

Argument

[ @target_group_name = ] 'target_group_name'
Namnet på målgruppen som målgruppmedlemmen ska tas bort från. target_group_name är nvarchar(128), utan standard.

[ @target_id = ] target_id
Det mål-ID-nummer som tilldelats den målgruppmedlem som ska tas bort. target_id är en unikidentifiering med standardvärdet NULL.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

Målgrupper är ett enkelt sätt att rikta ett jobb till en samling databaser.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

Exempel

I följande exempel tas London-servern bort från gruppen Servers Maintaining Customer Information. Du måste ansluta till jobbdatabasen som anges när du skapar jobbagenten, i det här fallet ElasticitJobs.

--Connect to the jobs database specified when creating the job agent
USE ElasticJobs ;
GO

-- Retrieve the target_id for a target_group_members
declare @tid uniqueidentifier
SELECT @tid = target_id FROM [jobs].target_group_members WHERE target_group_name = 'Servers Maintaining Customer Information' and server_name = 'London.database.windows.net';

-- Remove a target group member of type server
EXEC jobs.sp_delete_target_group_member
@target_group_name = N'Servers Maintaining Customer Information',
@target_id = @tid;
GO

sp_purge_jobhistory

Tar bort historikposterna för ett jobb.

Syntax

[jobs].sp_purge_jobhistory [ @job_name = ] 'job_name'
      [ , [ @job_id = ] job_id ]
      [ , [ @oldest_date = ] oldest_date []

Argument

[ @job_name = ] 'job_name'
Namnet på det jobb du vill ta bort historikposterna för. job_name är nvarchar(128), med standardvärdet NULL. Antingen job_id eller job_name måste anges, men båda kan inte anges.

[ @job_id = ] job_id
Jobbidentifieringsnumret för det jobb där posterna ska tas bort. job_id är uniqueidentifier med standardinställningen NULL. Antingen job_id eller job_name måste anges, men båda kan inte anges.

[ @oldest_date = ] oldest_date
Den äldsta posten att behålla i historiken. oldest_date datum/tid2, med standardvärdet NULL. När oldest_date posterna har sp_purge_jobhistory bort poster som är äldre än det angivna värdet.

Returnera kodvärden

0 (lyckades) eller 1 (fel)

Kommentarer

Målgrupper är ett enkelt sätt att rikta ett jobb till en samling databaser.

Behörigheter

Som standard kan medlemmar i den fasta serverrollen sysadmin utföra den här lagrade proceduren. De begränsar en användare till att bara kunna övervaka jobb, du kan ge användaren rollen som en del av följande databasroll i jobbagentdatabasen som anges när jobbagenten skapas:

  • jobs_reader

Mer information om behörigheterna för de här rollerna finns i avsnittet Behörighet i det här dokumentet. Endast medlemmar i sysadmin kan använda den här lagrade proceduren för att redigera attributen för jobb som ägs av andra användare.

Exempel

I följande exempel läggs alla databaser i London- och NewYork-servrar till i gruppen Servrar som underhåller kundinformation. Du måste ansluta till jobbdatabasen som anges när du skapar jobbagenten, i det här fallet ElasticitJobs.

--Connect to the jobs database specified when creating the job agent

EXEC sp_delete_target_group_member
    @target_group_name = N'Servers Maintaining Customer Information',  
    @server_name = N'London.database.windows.net';  
GO

Jobbvyer

Följande vyer är tillgängliga i jobbdatabasen.

Visa Beskrivning
job_executions Visar historik för körning av jobb.
jobb Visar alla jobb.
job_versions Visar alla jobbversioner.
jobsteps Visar alla steg i den aktuella versionen av varje jobb.
jobstep_versions Visar alla steg i alla versioner av varje jobb.
target_groups Visar alla målgrupper.
target_group_members Visar alla medlemmar i alla målgrupper.

job_executions vyn

[jobb]. [job_executions]

Visar historik för körning av jobb.

Kolumnnamn Datatyp Beskrivning
job_execution_id uniqueidentifier Unikt ID för en instans av en jobbkörning.
job_name nvarchar(128) Namnet på jobbet.
job_id uniqueidentifier Unikt ID för jobbet.
job_version int Version av jobbet (uppdateras automatiskt varje gång jobbet ändras).
step_id int Unikt id (för det här jobbet) för steget. NULL anger att det här är den överordnade jobbkörningen.
is_active bit Anger om informationen är aktiv eller inaktiv. 1 anger aktiva jobb och 0 anger inaktiva.
livscykel nvarchar(50) Värde som anger status för jobbet:'Skapat', "Pågår", "Misslyckades", "Lyckades", "Hoppat över", "LyckadesWithSkipped"
create_time datetime2(7) Datum och tid då jobbet skapades.
start_time datetime2(7) Datum och tid då körningen startades. NULL om jobbet ännu inte har körts.
end_time datetime2(7) Datum och tid då jobbet slutförde körningen. NULL om jobbet ännu inte har körts eller ännu inte har slutfört körningen.
current_attempts int Antal gånger som steget har retrierats. Överordnat jobb blir 0, körning av underordnade jobb är 1 eller större baserat på körningsprincipen.
current_attempt_start_time datetime2(7) Datum och tid då körningen startades. NULL anger att det här är den överordnade jobbkörningen.
last_message nvarchar(max) Jobb- eller steghistorikmeddelande.
target_type nvarchar(128) Typ av måldatabas eller samling av databaser, inklusive alla databaser på en server, alla databaser i en elasticitetpool eller en databas. Giltiga värden för target_type är "SqlServer", "SqlElasticPool" eller "SqlDatabase". NULL anger att det här är den överordnade jobbkörningen.
target_id uniqueidentifier Unikt ID för målgruppmedlemmen. NULL anger att det här är den överordnade jobbkörningen.
target_group_name nvarchar(128) Namnet på målgruppen. NULL anger att det här är den överordnade jobbkörningen.
target_server_name nvarchar(256) Namnet på den server som finns i målgruppen. Anges endast om target_type är "SqlServer". NULL anger att det här är den överordnade jobbkörningen.
target_database_name nvarchar(128) Namnet på databasen som finns i målgruppen. Anges endast när target_type är 'SqlDatabase'. NULL anger att det här är den överordnade jobbkörningen.

vyn jobb

[jobb]. [jobb]

Visar alla jobb.

Kolumnnamn Datatyp Beskrivning
job_name nvarchar(128) Namnet på jobbet.
job_id uniqueidentifier Unikt ID för jobbet.
job_version int Version av jobbet (uppdateras automatiskt varje gång jobbet ändras).
beskrivning nvarchar(512) Beskrivning för jobbet. Aktiverad bit: Anger om jobbet är aktiverat eller inaktiverat. 1 anger aktiverade jobb och 0 anger inaktiverade jobb.
schedule_interval_type nvarchar(50) Värde som anger när jobbet ska utföras:'En gång', "Minuter", "Timmar", "Dagar", "Veckor", "Månader"
schedule_interval_count int Antalet schedule_interval_type som ska inträffa mellan varje körning av jobbet.
schedule_start_time datetime2(7) Datum och tid då jobbet startades senast.
schedule_end_time datetime2(7) Datum och tid då jobbet slutfördes senast.

job_versions vy

[jobb]. [job_versions]

Visar alla jobbversioner.

Kolumnnamn Datatyp Beskrivning
job_name nvarchar(128) Namnet på jobbet.
job_id uniqueidentifier Unikt ID för jobbet.
job_version int Version av jobbet (uppdateras automatiskt varje gång jobbet ändras).

vyn jobsteps

[jobb]. [jobsteps]

Visar alla steg i den aktuella versionen av varje jobb.

Kolumnnamn Datatyp Beskrivning
job_name nvarchar(128) Namnet på jobbet.
job_id uniqueidentifier Unikt ID för jobbet.
job_version int Version av jobbet (uppdateras automatiskt varje gång jobbet ändras).
step_id int Unikt id (för det här jobbet) för steget.
step_name nvarchar(128) Unikt namn (för det här jobbet) för steget.
command_type nvarchar(50) Typ av kommando som ska utföras i jobbsteget. För v1 måste värdet vara lika med och standardvärdet för "TSql".
command_source nvarchar(50) Plats för kommandot. För v1 är "Infogade" standardvärdet och det enda godkända värdet.
kommando nvarchar(max) De kommandon som ska utföras av elasticitetjobben via command_type.
credential_name nvarchar(128) Namn på databasens omfattning för autentiseringsuppgifter som används för att utföra jobbet.
target_group_name nvarchar(128) Namnet på målgruppen.
target_group_id uniqueidentifier Unikt ID för målgruppen.
initial_retry_interval_seconds int Fördröjningen före det första försöket. Standardvärdet är 1.
maximum_retry_interval_seconds int Den maximala fördröjningen mellan återförsök. Om fördröjningen mellan försök skulle bli större än det här värdet så måste den i stället användas för det här värdet. Standardvärdet är 120.
retry_interval_backoff_multiplier real Multipliceraren som ska användas för förskjutningen av försöket om flera körningsförsök för jobbsteg misslyckas. Standardvärdet är 2,0.
retry_attempts int Antalet försök att göra om det här steget misslyckas. Standardvärdet är 10, vilket anger att inga försök ska göra igen.
step_timeout_seconds int Tiden i minuter mellan försök igen. Standardvärdet är 0, vilket anger ett 0-minutersintervall.
output_type nvarchar(11) Plats för kommandot. I den aktuella förhandsgranskningen är "Infogade" standardvärdet och det enda godkända värdet.
output_credential_name nvarchar(128) Namnet på autentiseringsuppgifterna som ska användas för att ansluta till målservern för att lagra uppsättningen resultat.
output_subscription_id uniqueidentifier Unikt ID för prenumerationen på målservern\databasen för resultatet från frågekörningen.
output_resource_group_name nvarchar(128) Resursgruppnamn där målservern finns.
output_server_name nvarchar(256) Namn på målservern för resultatuppsättningen.
output_database_name nvarchar(128) Namn på måldatabasen för resultatuppsättningen.
output_schema_name nvarchar(max) Namnet på målschemat. Standardvärdet är dbo, om det inte anges.
output_table_name nvarchar(max) Namn på tabellen där resultatuppsättningen från frågeresultaten ska lagras. Tabellen skapas automatiskt baserat på schemat för resultatuppsättningen om den inte redan finns. Schemat måste matcha schemat för resultatuppsättningen.
max_parallelism int Maximalt antal databaser per pool för elasticitet som jobbet kommer att köras på i taget. Standardvärdet är NULL, vilket innebär att det inte finns någon gräns.

jobstep_versions vy

[jobb]. [jobstep_versions]

Visar alla steg i alla versioner av varje jobb. Schemat är identiskt med jobbsteg.

target_groups vy

[jobb]. [target_groups]

Visar alla målgrupper.

Kolumnnamn Datatyp Beskrivning
target_group_name nvarchar(128) Namnet på målgruppen, en samling databaser.
target_group_id uniqueidentifier Unikt ID för målgruppen.

target_group_members vy

[jobb]. [target_group_members]

Visar alla medlemmar i alla målgrupper.

Kolumnnamn Datatyp Beskrivning
target_group_name nvarchar(128 Namnet på målgruppen, en samling databaser.
target_group_id uniqueidentifier Unikt ID för målgruppen.
membership_type int Anger om målgruppsmedlemmen ingår eller exkluderas i målgruppen. Giltiga värden för target_group_name är Inkludera eller Exkludera.
target_type nvarchar(128) Typ av måldatabas eller samling av databaser, inklusive alla databaser på en server, alla databaser i en elasticitetpool eller en databas. Giltiga värden för target_type är "SqlServer", "SqlElasticPool", "SqlDatabase" eller "SqlShardMap".
target_id uniqueidentifier Unikt ID för målgruppmedlemmen.
refresh_credential_name nvarchar(128) Namn på databasens omfattning för autentiseringsuppgifter som används för att ansluta till målgruppmedlemmen.
subscription_id uniqueidentifier Unikt ID för prenumerationen.
resource_group_name nvarchar(128) Namn på resursgruppen där målgruppsmedlemmen finns.
server_name nvarchar(128) Namnet på den server som finns i målgruppen. Anges endast om target_type är "SqlServer".
database_name nvarchar(128) Namnet på databasen som finns i målgruppen. Anges endast när target_type är 'SqlDatabase'.
elastic_pool_name nvarchar(128) Namnet på elasticitetpoolen som finns i målgruppen. Anges endast när target_type är 'SqlElasticPool'.
shard_map_name nvarchar(128) Namnet på de fragmentade mappningar som finns i målgruppen. Anges endast när target_type är 'SqlShardMap'.

Resurser

Nästa steg