Elastik Veritabanı İşleri oluşturmak ve yönetmek için Transact-SQL (T-SQL) kullanma (önizleme)

Şunlar için geçerlidir: Azure SQL Veritabanı

Bu makalede, T-SQL kullanarak Elastik İşler ile çalışmaya başlamaya yönelik birçok örnek senaryo sunulmaktadır.

Örneklerde, iş veritabanında bulunan saklı yordamlar ve görünümler kullanılır.

Transact-SQL (T-SQL), işleri oluşturmak, yapılandırmak, yürütmek ve yönetmek için kullanılır. Elastik İş aracısının oluşturulması T-SQL'de desteklenmez, bu nedenle önce portalı veya PowerShell'i kullanarak bir Elastik İş aracısı oluşturmanız gerekir.

İş yürütme için kimlik bilgisi oluşturma

Kimlik bilgisi, betik yürütme amacıyla hedef veritabanlarınıza bağlanmak için kullanılır. Kimlik bilgilerinin betiği başarıyla yürütmek için hedef grup tarafından belirtilen veritabanlarında uygun izinlere sahip olması gerekir. Mantıksal SQL sunucusu ve/veya havuz hedef grubu üyesi kullanılırken, iş yürütülme zamanında sunucunun ve/veya havuzun genişletilmesinden önce kimlik bilgilerini yenilemek için kullanılacak bir kimlik bilgisi oluşturulması kesinlikle önerilir. Veritabanı kapsamlı kimlik bilgileri, iş aracısı veritabanında oluşturulur. Hedef veritabanlarında Oturum Açma Veritabanı İzinleri vermek için Oturum Açma Bilgisi Oluşturmak ve Oturum Açmadan Kullanıcı Oluşturmak için aynı kimlik bilgileri kullanılmalıdır.

--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

Hedef grup oluşturma (sunucular)

Aşağıdaki örnekte, bir işin sunucudaki tüm veritabanlarında nasıl yürütülecekleri gösterilmektedir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

-- 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';

Tek bir veritabanını dışlama

Aşağıdaki örnekte , MappingDB adlı veritabanı dışında bir işin sunucudaki tüm veritabanlarında nasıl yürütülecekleri gösterilmektedir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

--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';

Hedef grup oluşturma (havuzlar)

Aşağıdaki örnek, bir veya daha fazla elastik havuzdaki tüm veritabanlarını nasıl hedeflemeyi gösterir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

--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';

Birçok veritabanına yeni şema dağıtma

Aşağıdaki örnekte yeni şemanın tüm veritabanlarına nasıl dağıtılacağı gösterilmektedir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

--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';

Yerleşik parametreleri kullanarak veri toplama

Birçok veri toplama senaryosunda, işin sonuçlarının işlenmesine yardımcı olmak için bu betik değişkenlerinden bazılarını eklemek yararlı olabilir.

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

Örneğin, aynı iş yürütmesinden elde edilen tüm sonuçları birlikte gruplandırmak için aşağıdaki komutta gösterildiği gibi $(job_execution_id) kullanın:

@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());'

Veritabanı performansını izleme

Aşağıdaki örnek, birden çok veritabanından performans verileri toplamak için yeni bir iş oluşturur.

Varsayılan olarak, iş aracısı döndürülen sonuçları depolamak için çıkış tablosunu oluşturur. Bu nedenle, çıktı kimlik bilgileriyle ilişkilendirilmiş veritabanı sorumlusunun en azından şu izinlere sahip olması gerekir: CREATE TABLE çıkış ALTERINSERTSELECTtablosunda veya şemasında ve SELECT sys.indexes katalog görünümünde , , , . DELETE

Tabloyu önceden el ile oluşturmak istiyorsanız aşağıdaki özelliklere sahip olması gerekir:

  1. Sonuç kümesi için doğru ada ve veri türlerine sahip sütunlar.
  2. uniqueidentifier veri türüne sahip internal_execution_id için ek sütun.
  3. internal_execution_id sütununda adlı IX_<TableName>_Internal_Execution_ID bir kümelenmemiş dizin.
  4. Veritabanındaki izinler dışında CREATE TABLE yukarıda listelenen tüm izinler.

İş veritabanına bağlanın ve aşağıdaki komutları çalıştırın:

--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';

İş tanımlarını görüntüleme

Aşağıdaki örnekte geçerli iş tanımlarının nasıl görüntüleyebileceğiniz gösterilmektedir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

--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;

bir işin planlanmamış yürütmesini başlatma

Aşağıdaki örnekte, bir işin hemen nasıl başlatılamaya başladığı gösterilmektedir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

--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;

İşin yürütülmesini zamanlama

Aşağıdaki örnekte, gelecekteki yürütme için bir işin nasıl zamanlandığı gösterilmektedir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

--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;

İş yürütme durumunu izleme

Aşağıdaki örnekte, tüm işler için yürütme durumu ayrıntılarının nasıl görüntüleyebileceğiniz gösterilmektedir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

--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;

Bir işi iptal etme

Aşağıdaki örnekte bir işin nasıl iptal edileceği gösterilmektedir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

--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';

Eski iş geçmişini silme

Aşağıdaki örnekte, belirli bir tarihten önce iş geçmişinin nasıl silineceği gösterilmektedir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

--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

Bir işi ve tüm iş geçmişini silme

Aşağıdaki örnekte bir işin ve tüm ilgili iş geçmişinin nasıl silineceği gösterilmektedir.
İş veritabanına bağlanın ve aşağıdaki komutu çalıştırın:

--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

İş saklı yordamları

Aşağıdaki saklı yordamlar iş veritabanındadır.

Saklı yordam Açıklama
sp_add_job Yeni bir iş ekler.
Sp_update_job Var olan bir işi Güncelleştirmeler.
Sp_delete_job Var olan bir işi siler.
Sp_add_jobstep İşe adım ekler.
sp_update_jobstep bir iş adımı Güncelleştirmeler.
sp_delete_jobstep İş adımlarını siler.
Sp_start_job bir işi yürütmeye başlar.
sp_stop_job bir iş yürütmeyi durdurur.
sp_add_target_group Hedef grup ekler.
sp_delete_target_group Hedef grubu siler.
sp_add_target_group_member Hedef gruba veritabanı veya veritabanı grubu ekler.
sp_delete_target_group_member Hedef grup üyesini hedef gruptan kaldırır.
Sp_purge_jobhistory bir işin geçmiş kayıtlarını kaldırır.

sp_add_job

Yeni bir iş ekler.

Söz dizimi

[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 ]

Bağımsız değişkenler

[ @job_name = ] 'job_name'
İşin adı. Ad benzersiz olmalıdır ve yüzde (%) karakterini içeremez. job_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @description = ] 'description'
İşin açıklaması. description is nvarchar(512), with a default of NULL. Açıklama atlanırsa boş bir dize kullanılır.

[ @enabled = ] etkin
İşin zamanlamasının etkinleştirilip etkinleştirilmediği. Etkin bittir ve varsayılan değeri 0 'dır (devre dışı). 0 ise, iş etkinleştirilmez ve zamanlamasına göre çalışmaz; ancak el ile çalıştırılabilir. 1 ise, iş zamanlamasına göre çalışır ve el ile de çalıştırılabilir.

[ @schedule_interval_type =] schedule_interval_type
Değer, işin ne zaman yürütülecek olduğunu gösterir. schedule_interval_type nvarchar(50), varsayılan değeri Bir Kez olan ve aşağıdaki değerlerden biri olabilir:

  • 'Bir kez',
  • 'Dakika',
  • 'Saat',
  • 'Günler',
  • 'Haftalar',
  • 'Aylar'

[ @schedule_interval_count = ] schedule_interval_count
İşin her yürütmesi arasında gerçekleşecek schedule_interval_count dönem sayısı. schedule_interval_count int değeridir ve varsayılan değer 1'dir. Değer 1'den büyük veya buna eşit olmalıdır.

[ @schedule_start_time = ] schedule_start_time
İş yürütmenin başlayabileceğiniz tarih. schedule_start_time datetime2'dir ve varsayılan değer 0001-01-01 00:00:00.0000000'dir.

[ @schedule_end_time = ] schedule_end_time
İş yürütmenin durdurulabileceği tarih. schedule_end_time DATETIME2'dir ve varsayılan değer 9999-12-31 11:59:59.00000000'dir.

[ @job_id = ] job_id OUTPUT
Başarılı bir şekilde oluşturulduysa, işe atanan iş kimliği numarası. job_id, uniqueidentifier türünde bir çıkış değişkenidir.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Açıklamalar

sp_add_job, iş aracısı oluşturulurken belirtilen iş aracısı veritabanından çalıştırılmalıdır. İş eklemek için sp_add_job yürütüldükten sonra, sp_add_jobstep iş için etkinlikleri gerçekleştiren adımları eklemek için kullanılabilir. İşin ilk sürüm numarası 0'dır ve ilk adım eklendiğinde 1'e artırılır.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar, kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcıların sahip olduğu işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

Sp_update_job

Var olan bir işi Güncelleştirmeler.

Söz dizimi

[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 ]

Bağımsız değişkenler

[ @job_name = ] 'job_name'
Güncelleştirilecek işin adı. job_name nvarchar(128).

[ @new_name = ] 'new_name'
İşin yeni adı. new_name nvarchar(128).

[ @description = ] 'description'
İşin açıklaması. description is nvarchar(512).

[ @enabled = ] etkin
İşin zamanlamasının etkin olup olmadığını belirtir (1) veya etkin değil (0). Etkin bittir.

[ @schedule_interval_type= ] schedule_interval_type
Değer, işin ne zaman yürütülecek olduğunu gösterir. schedule_interval_type nvarchar(50) değeridir ve aşağıdaki değerlerden biri olabilir:

  • 'Bir kez',
  • 'Dakika',
  • 'Saat',
  • 'Günler',
  • 'Haftalar',
  • 'Aylar'

[ @schedule_interval_count= ] schedule_interval_count
İşin her yürütmesi arasında gerçekleşecek schedule_interval_count dönem sayısı. schedule_interval_count int değeridir ve varsayılan değer 1'dir. Değer 1'den büyük veya buna eşit olmalıdır.

[ @schedule_start_time= ] schedule_start_time
İş yürütmenin başlayabileceğiniz tarih. schedule_start_time datetime2'dir ve varsayılan değer 0001-01-01 00:00:00.0000000'dir.

[ @schedule_end_time= ] schedule_end_time
İş yürütmenin durdurulabileceği tarih. schedule_end_time DATETIME2'dir ve varsayılan değer 9999-12-31 11:59:59.00000000'dir.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Açıklamalar

İş eklemek için sp_add_job yürütüldükten sonra, sp_add_jobstep iş için etkinlikleri gerçekleştiren adımları eklemek için kullanılabilir. İşin ilk sürüm numarası 0'dır ve ilk adım eklendiğinde 1'e artırılır.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar, kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcıların sahip olduğu işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

Sp_delete_job

Var olan bir işi siler.

Söz dizimi

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

Bağımsız değişkenler

[ @job_name = ] 'job_name'
Silinecek işin adı. job_name nvarchar(128).

[ @force = ] force
İşin devam eden yürütmeleri varsa silinip silinmeyeceğini ve devam eden tüm yürütmeleri (1) iptal edip etmeyeceğini veya devam eden herhangi bir iş yürütmesi varsa başarısız olup olmayacağını belirtir (0). güç bittir.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

bir iş silindiğinde iş geçmişi otomatik olarak silinir.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar; kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcılara ait işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

Sp_add_jobstep

İşe bir adım ekler.

Söz dizimi

[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 ]

Bağımsız değişkenler

[ @job_name = ] 'job_name'
Adımın ekleneceği işin adı. job_name nvarchar(128).

[ @step_id = ] step_id
İş adımının sıralı kimlik numarası. Adım belirleme numaraları 1'de başlar ve boşluk bırakmadan artar. Mevcut bir adım bu kimliğe zaten sahipse, bu yeni adımın diziye eklenebilmesi için bu adımın ve sonraki tüm adımların kimliği artırılır. Belirtilmezse, step_id adım dizisinde otomatik olarak en son değere atanır. step_id bir int'dir.

[ @step_name = ] step_name
Adımın adı. Bir işin ilk adımı dışında belirtilmesi gerekir. (kolaylık olması için) varsayılan adı 'JobStep' olur. step_name nvarchar(128).

[ @command_type = ] 'command_type'
Bu jobstep tarafından yürütülen komutun türü. command_type varsayılan değeri TSql olan nvarchar(50), yani parametrenin @command_type değeri bir T-SQL betiğidir.

Belirtilirse, değer TSql olmalıdır.

[ @command_source = ] 'command_source'
Komutun depolandığı konum türü. command_source nvarchar(50) değeridir ve varsayılan satır içi değeridir, yani parametrenin @command_source değeri komutun değişmez değeridir.

Belirtilirse, değer Satır içi olmalıdır.

[ @command = ] 'command'
Komut geçerli bir T-SQL betiği olmalıdır ve ardından bu iş adımı tarafından yürütülür. komutu nvarchar(max) komutudur ve varsayılan değeri NULL'dir.

[ @credential_name = ] 'credential_name'
Bu adım yürütürken hedef grup içindeki hedef veritabanlarının her birine bağlanmak için kullanılan, bu iş denetimi veritabanında depolanan veritabanı kapsamlı kimlik bilgilerinin adı. credential_name nvarchar(128).

[ @target_group_name = ] 'target-group_name'
İş adımının yürütüleceği hedef veritabanlarını içeren hedef grubun adı. target_group_name nvarchar(128).

[ @initial_retry_interval_seconds = ] initial_retry_interval_seconds
İlk yürütme girişiminde iş adımı başarısız olursa, ilk yeniden deneme girişiminden önceki gecikme. initial_retry_interval_seconds varsayılan değeri 1 olan int'tir.

[ @maximum_retry_interval_seconds = ] maximum_retry_interval_seconds
Yeniden deneme girişimleri arasındaki en yüksek gecikme. Yeniden denemeler arasındaki gecikme bu değerden daha fazla artacaksa, bunun yerine bu değere eşlenir. varsayılan değeri 120 olan maximum_retry_interval_seconds int değeridir.

[ @retry_interval_backoff_multiplier = ] retry_interval_backoff_multiplier
Birden çok iş adımı yürütme girişimi başarısız olursa yeniden deneme gecikmesine uygulanacak çarpan. Örneğin, ilk yeniden denemede 5 saniyelik bir gecikme varsa ve geri alma çarpanı 2,0 ise, ikinci yeniden denemede 10 saniye, üçüncü yeniden denemede ise 20 saniyelik bir gecikme olur. retry_interval_backoff_multiplier, varsayılan değeri 2,0 olan gerçektir.

[ @retry_attempts = ] retry_attempts
İlk deneme başarısız olursa yürütmeyi yeniden deneme sayısı. Örneğin, retry_attempts değeri 10 ise, 1 ilk deneme ve 10 yeniden deneme girişimi olur ve toplamda 11 deneme olur. Son yeniden deneme girişimi başarısız olursa, iş yürütme işlemi Başarısız yaşam döngüsüyle sonlandırılır. retry_attempts, varsayılan değeri 10 olan int'tir.

[ @step_timeout_seconds = ] step_timeout_seconds
Adımın yürütülmesi için izin verilen en uzun süre. Bu süre aşılırsa, iş yürütmesi TimedOut yaşam döngüsüyle sonlandırılır. step_timeout_seconds, varsayılan değeri 43.200 saniye (12 saat) olan int'tir.

[ @output_type = ] 'output_type'
Null değilse, komutun ilk sonuç kümesinin yazıldığını hedef türü. output_type nvarchar(50) değeridir ve varsayılan değeri NULL'dir.

Belirtilirse, değer SqlDatabase olmalıdır.

[ @output_credential_name = ] 'output_credential_name'
Null değilse, çıkış hedef veritabanına bağlanmak için kullanılan veritabanı kapsamlı kimlik bilgilerinin adı. output_type SqlDatabase'e eşitse belirtilmelidir. output_credential_name, varsayılan değeri NULL olan nvarchar(128) değeridir.

[ @output_subscription_id = ] 'output_subscription_id'
Açıklaması gerekiyor.

[ @output_resource_group_name = ] 'output_resource_group_name'
Açıklaması gerekiyor.

[ @output_server_name = ] 'output_server_name'
Null değilse, çıkış hedef veritabanını içeren sunucunun tam DNS adı. output_type SqlDatabase'e eşitse belirtilmelidir. output_server_name nvarchar(256) değeridir ve varsayılan değeri NULL'dir.

[ @output_database_name = ] 'output_database_name'
Null değilse, çıkış hedef tablosunu içeren veritabanının adı. output_type SqlDatabase'e eşitse belirtilmelidir. output_database_name nvarchar(128) değeridir ve varsayılan değeri NULL'dir.

[ @output_schema_name = ] 'output_schema_name'
Null değilse, çıkış hedef tablosunu içeren SQL şemasının adı. output_type, SqlDatabase'e eşitse, varsayılan değer dbo'dur. output_schema_name nvarchar(128).

[ @output_table_name = ] 'output_table_name'
Null değilse, komutun ilk sonuç kümesinin yazılacağı tablonun adı. Tablo zaten yoksa, dönen sonuç kümesinin şemasına göre oluşturulur. output_type SqlDatabase'e eşitse belirtilmelidir. output_table_name, varsayılan değeri NULL olan nvarchar(128) değeridir.

[ @job_version = ] job_version OUTPUT
Yeni iş sürüm numarasına atanacak çıkış parametresi. job_version int.

[ @max_parallelism = ] max_parallelism OUTPUT
Elastik havuz başına en yüksek paralellik düzeyi. Ayarlanırsa, iş adımı yalnızca elastik havuz başına en fazla bu sayıda veritabanı üzerinde çalışacak şekilde kısıtlanır. Bu, hedef gruba doğrudan dahil edilen veya hedef gruba dahil edilen bir sunucunun içindeki her elastik havuz için geçerlidir. max_parallelism int.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

sp_add_jobstep başarılı olduğunda işin geçerli sürüm numarası artırılır. İş bir sonraki yürütürken yeni sürüm kullanılır. İş şu anda yürütülüyorsa, bu yürütme yeni adımı içermez.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar; kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcılara ait işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

sp_update_jobstep

bir iş adımı Güncelleştirmeler.

Söz dizimi

[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 ]

Bağımsız değişkenler

[ @job_name = ] 'job_name'
Adımın ait olduğu işin adı. job_name nvarchar(128).

[ @step_id = ] step_id
Değiştirilecek iş adımının kimlik numarası. step_id veya step_name belirtilmelidir. step_id bir int'dir.

[ @step_name = ] 'step_name'
Değiştirilecek adımın adı. step_id veya step_name belirtilmelidir. step_name nvarchar(128).

[ @new_id = ] new_id
İş adımı için yeni sıralı kimlik numarası. Adım belirleme numaraları 1'de başlar ve boşluk bırakmadan artar. Bir adım yeniden sıralanırsa, diğer adımlar otomatik olarak yeniden numaralandırılır.

[ @new_name = ] 'new_name'
Adımın yeni adı. new_name nvarchar(128).

[ @command_type = ] 'command_type'
Bu jobstep tarafından yürütülen komutun türü. command_type varsayılan değeri TSql olan nvarchar(50), yani parametrenin @command_type değeri bir T-SQL betiğidir.

Belirtilirse, değer TSql olmalıdır.

[ @command_source = ] 'command_source'
Komutun depolandığı konum türü. command_source nvarchar(50) değeridir ve varsayılan satır içi değeridir, yani parametrenin @command_source değeri komutun değişmez değeridir.

Belirtilirse, değer Satır içi olmalıdır.

[ @command = ] 'command'
Komutlar geçerli bir T-SQL betiği olmalıdır ve ardından bu iş adımı tarafından yürütülür. komutu nvarchar(max) komutudur ve varsayılan değeri NULL'dir.

[ @credential_name = ] 'credential_name'
Bu adım yürütürken hedef grup içindeki hedef veritabanlarının her birine bağlanmak için kullanılan, bu iş denetimi veritabanında depolanan veritabanı kapsamlı kimlik bilgilerinin adı. credential_name nvarchar(128).

[ @target_group_name = ] 'target-group_name'
İş adımının yürütüleceği hedef veritabanlarını içeren hedef grubun adı. target_group_name nvarchar(128).

[ @initial_retry_interval_seconds = ] initial_retry_interval_seconds
İlk yürütme girişiminde iş adımı başarısız olursa, ilk yeniden deneme girişiminden önceki gecikme. initial_retry_interval_seconds varsayılan değeri 1 olan int'tir.

[ @maximum_retry_interval_seconds = ] maximum_retry_interval_seconds
Yeniden deneme girişimleri arasındaki en yüksek gecikme. Yeniden denemeler arasındaki gecikme bu değerden daha fazla artacaksa, bunun yerine bu değere eşlenir. varsayılan değeri 120 olan maximum_retry_interval_seconds int değeridir.

[ @retry_interval_backoff_multiplier = ] retry_interval_backoff_multiplier
Birden çok iş adımı yürütme girişimi başarısız olursa yeniden deneme gecikmesine uygulanacak çarpan. Örneğin, ilk yeniden denemede 5 saniyelik bir gecikme varsa ve geri alma çarpanı 2,0 ise, ikinci yeniden denemede 10 saniye, üçüncü yeniden denemede ise 20 saniyelik bir gecikme olur. retry_interval_backoff_multiplier, varsayılan değeri 2,0 olan gerçektir.

[ @retry_attempts = ] retry_attempts
İlk deneme başarısız olursa yürütmeyi yeniden deneme sayısı. Örneğin, retry_attempts değeri 10 ise, 1 ilk deneme ve 10 yeniden deneme girişimi olur ve toplamda 11 deneme olur. Son yeniden deneme girişimi başarısız olursa, iş yürütme işlemi Başarısız yaşam döngüsüyle sonlandırılır. retry_attempts, varsayılan değeri 10 olan int'tir.

[ @step_timeout_seconds = ] step_timeout_seconds
Adımın yürütülmesi için izin verilen en uzun süre. Bu süre aşılırsa, iş yürütmesi TimedOut yaşam döngüsüyle sonlandırılır. step_timeout_seconds, varsayılan değeri 43.200 saniye (12 saat) olan int'tir.

[ @output_type = ] 'output_type'
Null değilse, komutun ilk sonuç kümesinin yazıldığını hedef türü. output_type değerini NULL olarak sıfırlamak için bu parametrenin değerini '' (boş dize) olarak ayarlayın. output_type nvarchar(50) değeridir ve varsayılan değeri NULL'dir.

Belirtilirse, değer SqlDatabase olmalıdır.

[ @output_credential_name = ] 'output_credential_name'
Null değilse, çıkış hedef veritabanına bağlanmak için kullanılan veritabanı kapsamlı kimlik bilgilerinin adı. output_type SqlDatabase'e eşitse belirtilmelidir. output_credential_name değerini null olarak sıfırlamak için bu parametrenin değerini '' (boş dize) olarak ayarlayın. output_credential_name, varsayılan değeri NULL olan nvarchar(128) değeridir.

[ @output_server_name = ] 'output_server_name'
Null değilse, çıkış hedef veritabanını içeren sunucunun tam DNS adı. output_type SqlDatabase'e eşitse belirtilmelidir. output_server_name değerini NULL olarak sıfırlamak için bu parametrenin değerini '' (boş dize) olarak ayarlayın. output_server_name nvarchar(256) değeridir ve varsayılan değeri NULL'dir.

[ @output_database_name = ] 'output_database_name'
Null değilse, çıkış hedef tablosunu içeren veritabanının adı. output_type SqlDatabase'e eşitse belirtilmelidir. output_database_name değerini NULL olarak sıfırlamak için bu parametrenin değerini '' (boş dize) olarak ayarlayın. output_database_name nvarchar(128) değeridir ve varsayılan değeri NULL'dir.

[ @output_schema_name = ] 'output_schema_name'
Null değilse, çıkış hedef tablosunu içeren SQL şemasının adı. output_type, SqlDatabase'e eşitse, varsayılan değer dbo'dur. output_schema_name değerini null olarak sıfırlamak için bu parametrenin değerini '' (boş dize) olarak ayarlayın. output_schema_name nvarchar(128).

[ @output_table_name = ] 'output_table_name'
Null değilse, komutun ilk sonuç kümesinin yazılacağı tablonun adı. Tablo zaten yoksa, dönen sonuç kümesinin şemasına göre oluşturulur. output_type SqlDatabase'e eşitse belirtilmelidir. output_server_name değerini NULL olarak sıfırlamak için bu parametrenin değerini '' (boş dize) olarak ayarlayın. output_table_name, varsayılan değeri NULL olan nvarchar(128) değeridir.

[ @job_version = ] job_version OUTPUT
Yeni iş sürüm numarasına atanacak çıkış parametresi. job_version int.

[ @max_parallelism = ] max_parallelism OUTPUT
Elastik havuz başına en yüksek paralellik düzeyi. Ayarlanırsa, iş adımı yalnızca elastik havuz başına en fazla bu sayıda veritabanı üzerinde çalışacak şekilde kısıtlanır. Bu, hedef gruba doğrudan dahil edilen veya hedef gruba dahil edilen bir sunucunun içindeki her elastik havuz için geçerlidir. max_parallelism değerini null olarak sıfırlamak için bu parametrenin değerini -1 olarak ayarlayın. max_parallelism int.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

İşin devam eden yürütmeleri etkilenmez. sp_update_jobstep başarılı olduğunda, işin sürüm numarası artırılır. İş bir sonraki yürütürken yeni sürüm kullanılır.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar; kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcılara ait işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir

sp_delete_jobstep

İş adımlarını işten kaldırır.

Söz dizimi

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

Bağımsız değişkenler

[ @job_name = ] 'job_name'
Adımın kaldırılacağı işin adı. job_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @step_id = ] step_id
Silinecek iş adımının kimlik numarası. step_id veya step_name belirtilmelidir. step_id bir int'dir.

[ @step_name = ] 'step_name'
Silinecek adımın adı. step_id veya step_name belirtilmelidir. step_name nvarchar(128).

[ @job_version = ] job_version OUTPUT
Yeni iş sürüm numarasına atanacak çıkış parametresi. job_version int.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

İşin devam eden yürütmeleri etkilenmez. sp_update_jobstep başarılı olduğunda, işin sürüm numarası artırılır. İş bir sonraki yürütürken yeni sürüm kullanılır.

Diğer iş adımları, silinen iş adımının bıraktığı boşluğu doldurmak için otomatik olarak yeniden numaralandırılır.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar; kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcılara ait işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

Sp_start_job

bir işi yürütmeye başlar.

Söz dizimi

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

Bağımsız değişkenler

[ @job_name = ] 'job_name'
Adımın kaldırılacağı işin adı. job_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @job_execution_id = ] job_execution_id OUTPUT
İş yürütme kimliğinin atanacağı çıkış parametresi. job_version benzersiz belirleyicidir.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

Yok.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar; kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcılara ait işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

sp_stop_job

bir iş yürütmeyi durdurur.

Söz dizimi

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

Bağımsız değişkenler

[ @job_execution_id = ] job_execution_id
Durdurulacak iş yürütmesinin kimlik numarası. job_execution_id, varsayılanı NULL olan uniqueidentifier'dır.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

Yok.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar; kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcılara ait işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

sp_add_target_group

Hedef grup ekler.

Söz dizimi

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

Bağımsız değişkenler

[ @target_group_name = ] 'target_group_name'
Oluşturulacak hedef grubun adı. target_group_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @target_group_id = ] target_group_id ÇıKTı Başarıyla oluşturulursa işe atanan hedef grup kimlik numarası. target_group_id, varsayılan değeri NULL olan uniqueidentifier türünde bir çıkış değişkenidir.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

Hedef gruplar, bir veritabanı koleksiyonundaki işi hedeflemek için kolay bir yol sağlar.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar; kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcılara ait işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

sp_delete_target_group

Hedef grubu siler.

Söz dizimi

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

Bağımsız değişkenler

[ @target_group_name = ] 'target_group_name'
Silinecek hedef grubun adı. target_group_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

Yok.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar; kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcılara ait işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

sp_add_target_group_member

Hedef gruba veritabanı veya veritabanı grubu ekler.

Söz dizimi

[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 ]

Bağımsız değişkenler

[ @target_group_name = ] 'target_group_name'
Üyenin eklendiği hedef grubun adı. target_group_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @membership_type = ] 'membership_type'
Hedef grup üyesinin dahil mi yoksa dışlanacak mı olacağını belirtir. target_group_name nvarchar(128) şeklindedir ve varsayılan olarak 'Include' değeri kullanılır. membership_type için geçerli değerler 'Dahil Et' veya 'Dışla'dır.

[ @target_type = ] 'target_type'
Bir sunucudaki tüm veritabanları, Elastik havuzdaki tüm veritabanları, parça eşlemesindeki tüm veritabanları veya tek bir veritabanı dahil olmak üzere hedef veritabanı türü veya veritabanı koleksiyonu. target_type nvarchar(128) şeklindedir ve varsayılan değer yoktur. target_type için geçerli değerler 'SqlServer', 'SqlElasticPool', 'SqlDatabase' veya 'SqlShardMap' değerleridir.

[ @refresh_credential_name = ] 'refresh_credential_name'
Veritabanı kapsamlı kimlik bilgilerinin adı. refresh_credential_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @server_name = ] 'server_name'
Belirtilen hedef gruba eklenmesi gereken sunucunun adı. target_type 'SqlServer' olduğunda server_name belirtilmelidir. server_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @database_name = ] 'database_name'
Belirtilen hedef gruba eklenmesi gereken veritabanının adı. target_type 'SqlDatabase' olduğunda database_name belirtilmelidir. database_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @elastic_pool_name = ] 'elastic_pool_name'
Belirtilen hedef gruba eklenmesi gereken Elastik havuzun adı. target_type 'SqlElasticPool' olduğunda elastic_pool_name belirtilmelidir. elastic_pool_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @shard_map_name = ] 'shard_map_name'
Belirtilen hedef gruba eklenmesi gereken parça eşleme havuzunun adı. target_type 'SqlShardMap' olduğunda elastic_pool_name belirtilmelidir. shard_map_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @target_id = ] target_group_id OUTPUT
Oluşturulduysa hedef grup üyesine atanan hedef kimlik numarası hedef gruba eklenir. target_id, varsayılan değeri NULL olan uniqueidentifier türünde bir çıkış değişkenidir. Dönüş Kodu Değerleri 0 (başarılı) veya 1 (hata)

Açıklamalar

Bir iş, bir sunucu veya elastik havuz hedef gruba dahil edildiğinde, yürütme sırasında bir sunucudaki veya elastik havuzdaki tüm tek veritabanlarında yürütülür.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar; kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcılara ait işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

Örnekler

Aşağıdaki örnek, Londra ve NewYork sunucularındaki tüm veritabanlarını Müşteri Bilgilerini Koruyan Sunucular grubuna ekler. İş aracısını oluştururken belirtilen iş veritabanına (bu örnekte ElasticJobs) bağlanmanız gerekir.

--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

Hedef gruptan hedef grup üyesini kaldırır.

Söz dizimi

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

Bağımsız değişkenler

[ @target_group_name = ] 'target_group_name'
Hedef grup üyesinin kaldırılacağı hedef grubun adı. target_group_name nvarchar(128) şeklindedir ve varsayılan değer yoktur.

[ @target_id = ] target_id
Kaldırılacak hedef grup üyesine atanan hedef kimlik numarası. target_id, varsayılan değeri NULL olan benzersiz bir belirleyicidir.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

Hedef gruplar, bir veritabanı koleksiyonundaki işi hedeflemek için kolay bir yol sağlar.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar; kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcılara ait işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

Örnekler

Aşağıdaki örnek, Müşteri Bilgilerini Koruyan Sunucular grubundan Londra sunucusunu kaldırır. İş aracısını oluştururken belirtilen iş veritabanına (bu örnekte ElasticJobs) bağlanmanız gerekir.

--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

bir işin geçmiş kayıtlarını kaldırır.

Söz dizimi

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

Bağımsız değişkenler

[ @job_name = ] 'job_name'
Geçmiş kayıtlarının silineceği işin adı. job_name nvarchar(128) değeridir ve varsayılan değeri NULL olur. job_id veya job_name belirtilmelidir, ancak ikisi de belirtilemez.

[ @job_id = ] job_id
Silinecek kayıtlar için işin iş kimliği numarası. job_id, varsayılan değeri NULL olan uniqueidentifier'dır. job_id veya job_name belirtilmelidir, ancak ikisi de belirtilemez.

[ @oldest_date = ] oldest_date
Geçmişte tutulacak en eski kayıt. oldest_date DATETIME2 değeridir ve varsayılan değer NULL'dır. oldest_date belirtildiğinde, sp_purge_jobhistory yalnızca belirtilen değerden daha eski kayıtları kaldırır.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Açıklamalar

Hedef gruplar, bir veritabanı koleksiyonundaki bir işi hedeflemek için kolay bir yol sağlar.

İzinler

Varsayılan olarak, sysadmin sabit sunucu rolünün üyeleri bu saklı yordamı yürütebilir. Bir kullanıcıyı yalnızca işleri izleyebilecek şekilde kısıtlar, kullanıcıya iş aracısını oluştururken belirtilen iş aracısı veritabanında aşağıdaki veritabanı rolünün parçası olmasını sağlayabilirsiniz:

  • jobs_reader

Bu rollerin izinleri hakkında ayrıntılı bilgi için bu belgenin İzin bölümüne bakın. Diğer kullanıcıların sahip olduğu işlerin özniteliklerini düzenlemek için yalnızca sysadmin üyeleri bu saklı yordamı kullanabilir.

Örnekler

Aşağıdaki örnek, Londra ve NewYork sunucularındaki tüm veritabanlarını Müşteri Bilgilerini Koruyan Sunucular grubuna ekler. İş aracısını oluştururken belirtilen iş veritabanına (bu örnekte ElasticJobs) bağlanmanız gerekir.

--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

İş görünümleri

İşler veritabanında aşağıdaki görünümler kullanılabilir.

Görünüm Açıklama
job_executions İş yürütme geçmişini gösterir.
Işleri Tüm işleri gösterir.
job_versions Tüm iş sürümlerini gösterir.
Jobsteps Her işin geçerli sürümündeki tüm adımları gösterir.
jobstep_versions Her işin tüm sürümlerindeki tüm adımları gösterir.
target_groups Tüm hedef grupları gösterir.
target_group_members Tüm hedef grupların tüm üyelerini gösterir.

job_executions görünümü

[işler]. [job_executions]

İş yürütme geçmişini gösterir.

Sütun adı Veri türü Açıklama
job_execution_id uniqueidentifier İş yürütme örneğinin benzersiz kimliği.
Job_name nvarchar(128) İşin adı.
Job_id uniqueidentifier İşin benzersiz kimliği.
job_version int İşin sürümü (iş her değiştirildiğinde otomatik olarak güncelleştirilir).
step_id int Adım için benzersiz (bu iş için) tanımlayıcı. NULL, bunun üst iş yürütmesi olduğunu gösterir.
is_active bit Bilgilerin etkin mi yoksa etkin değil mi olduğunu gösterir. 1 etkin işleri, 0 ise etkin olmayan işleri gösterir.
Yaşam döngüsü nvarchar(50) İşin durumunu gösteren değer:'Created', 'In Progress', 'Failed', 'Succeeded', 'Skipped', 'SucceededWithSkipped'
create_time datetime2(7) İşin oluşturulduğu tarih ve saat.
Start_time datetime2(7) İşin yürütülmeye başladığı tarih ve saat. İş henüz yürütülmediyse NULL.
end_time datetime2(7) İşin yürütülmesinin bittiği tarih ve saat. İş henüz yürütülmediyse veya henüz yürütülmediyse NULL.
current_attempts int Adımın yeniden denenma sayısı. Üst iş 0, alt iş yürütmeleri yürütme ilkesine göre 1 veya daha büyük olacaktır.
current_attempt_start_time datetime2(7) İşin yürütülmeye başladığı tarih ve saat. NULL, bunun üst iş yürütmesi olduğunu gösterir.
last_message nvarchar(max) İş veya adım geçmişi iletisi.
target_type nvarchar(128) Bir sunucudaki tüm veritabanları, Elastik havuzdaki tüm veritabanları veya bir veritabanı dahil olmak üzere hedef veritabanının veya veritabanı koleksiyonunun türü. target_type için geçerli değerler :'SqlServer', 'SqlElasticPool' veya 'SqlDatabase'. NULL, bunun üst iş yürütmesi olduğunu gösterir.
target_id uniqueidentifier Hedef grup üyesinin benzersiz kimliği. NULL, bunun üst iş yürütmesi olduğunu gösterir.
target_group_name nvarchar(128) Hedef grubun adı. NULL, bunun üst iş yürütmesi olduğunu gösterir.
target_server_name nvarchar(256) Hedef grupta yer alan sunucunun adı. Yalnızca target_type 'SqlServer' olduğunda belirtilir. NULL, bunun üst iş yürütmesi olduğunu gösterir.
target_database_name nvarchar(128) Hedef grupta yer alan veritabanının adı. Yalnızca target_type 'SqlDatabase' olduğunda belirtilir. NULL, bunun üst iş yürütmesi olduğunu gösterir.

işler görünümü

[işler]. [işler]

Tüm işleri gösterir.

Sütun adı Veri türü Açıklama
Job_name nvarchar(128) İşin adı.
Job_id uniqueidentifier İşin benzersiz kimliği.
job_version int İşin sürümü (iş her değiştirildiğinde otomatik olarak güncelleştirilir).
Açıklama nvarchar(512) İşin açıklaması. Etkin bit: İşin etkin mi yoksa devre dışı mı olduğunu gösterir. 1 etkin işleri, 0 ise devre dışı bırakılan işleri gösterir.
schedule_interval_type nvarchar(50) İşin ne zaman yürütülecek olduğunu gösteren değer:'Once', 'Minutes', 'Hours', 'Days', 'Weeks', 'Months'
schedule_interval_count int İşin her yürütmesi arasında gerçekleşecek schedule_interval_type dönem sayısı.
schedule_start_time datetime2(7) İşin yürütmenin en son başlatıldığı tarih ve saat.
schedule_end_time datetime2(7) İşin son tamamlanma tarihi ve saati yürütme.

job_versions görünümü

[işler]. [job_versions]

Tüm iş sürümlerini gösterir.

Sütun adı Veri türü Açıklama
Job_name nvarchar(128) İşin adı.
Job_id uniqueidentifier İşin benzersiz kimliği.
job_version int İşin sürümü (iş her değiştirildiğinde otomatik olarak güncelleştirilir).

jobsteps görünümü

[işler]. [jobsteps]

Her işin geçerli sürümündeki tüm adımları gösterir.

Sütun adı Veri türü Açıklama
Job_name nvarchar(128) İşin adı.
Job_id uniqueidentifier İşin benzersiz kimliği.
job_version int İşin sürümü (iş her değiştirildiğinde otomatik olarak güncelleştirilir).
step_id int Adım için benzersiz (bu iş için) tanımlayıcı.
step_name nvarchar(128) Adım için benzersiz (bu iş için) adı.
command_type nvarchar(50) İş adımında yürütülecek komutun türü. v1 için değerin 'TSql' değerine eşit olması ve varsayılan değerin 'TSql' olması gerekir.
command_source nvarchar(50) Komutun konumu. v1 için 'Satır içi', varsayılan ve yalnızca kabul edilen değerdir.
Komut nvarchar(max) Elastik işler tarafından command_type aracılığıyla yürütülecek komutlar.
credential_name nvarchar(128) İşi yürütmek için kullanılan veritabanı kapsamlı kimlik bilgilerinin adı.
target_group_name nvarchar(128) Hedef grubun adı.
target_group_id uniqueidentifier Hedef grubun benzersiz kimliği.
initial_retry_interval_seconds int İlk yeniden deneme girişiminden önceki gecikme. Varsayılan değer 1'dir.
maximum_retry_interval_seconds int Yeniden deneme girişimleri arasındaki en yüksek gecikme. Yeniden denemeler arasındaki gecikme bu değerden daha fazla artacaksa, bunun yerine bu değere eşlenir. Varsayılan değer 120'dir.
retry_interval_backoff_multiplier real Birden çok iş adımı yürütme girişimi başarısız olursa yeniden deneme gecikmesine uygulanacak çarpan. Varsayılan değer 2,0'dır.
retry_attempts int Bu adım başarısız olursa yeniden deneme denemesi sayısı. Yeniden deneme girişimi olmadığını gösteren varsayılan değer 10'dır.
step_timeout_seconds int Yeniden deneme girişimleri arasındaki dakika cinsinden süre. Varsayılan değer 0'dır ve bu da 0 dakikalık bir aralığı gösterir.
output_type nvarchar(11) Komutun konumu. Geçerli önizlemede 'Satır içi' varsayılan ve yalnızca kabul edilen değerdir.
output_credential_name nvarchar(128) Sonuç kümesini depolamak üzere hedef sunucuya bağlanmak için kullanılacak kimlik bilgilerinin adı.
output_subscription_id uniqueidentifier Sorgu yürütmesinden ayarlanan sonuçlar için hedef sunucu\veritabanı aboneliğinin benzersiz kimliği.
output_resource_group_name nvarchar(128) Hedef sunucunun bulunduğu kaynak grubu adı.
output_server_name nvarchar(256) Sonuç kümesi için hedef sunucunun adı.
output_database_name nvarchar(128) Sonuç kümesi için hedef veritabanının adı.
output_schema_name nvarchar(maksimum) Hedef şemanın adı. Belirtilmezse varsayılan olarak dbo'ya ayarlanır.
output_table_name nvarchar(maksimum) Sorgu sonuçlarından ayarlanan sonuçların depolanacağı tablonun adı. Tablo, henüz yoksa, sonuç kümesinin şemasına göre otomatik olarak oluşturulur. Şema, sonuç kümesinin şemasıyla eşleşmelidir.
max_parallelism int bir kerede iş adımının üzerinde çalıştırılacağı elastik havuz başına en fazla veritabanı sayısı. Varsayılan değer NULL'dır, yani sınır yoktur.

jobstep_versions görünümü

[işler]. [jobstep_versions]

Her işin tüm sürümlerindeki tüm adımları gösterir. Şema , jobsteps ile aynıdır.

target_groups görünümü

[işler]. [target_groups]

Tüm hedef grupları listeler.

Sütun adı Veri türü Açıklama
target_group_name nvarchar(128) Hedef grubun adı, bir veritabanı koleksiyonu.
target_group_id uniqueidentifier Hedef grubun benzersiz kimliği.

target_group_members görünümü

[işler]. [target_group_members]

Tüm hedef grupların tüm üyelerini gösterir.

Sütun adı Veri türü Açıklama
target_group_name nvarchar(128) Hedef grubun adı, bir veritabanı koleksiyonu.
target_group_id uniqueidentifier Hedef grubun benzersiz kimliği.
membership_type int Hedef grup üyesinin hedef gruba eklenip eklenmediğini veya dışlandığını belirtir. target_group_name için geçerli değerler 'Dahil Et' veya 'Dışla'dır.
target_type nvarchar(128) Bir sunucudaki tüm veritabanları, Elastik havuzdaki veya bir veritabanındaki tüm veritabanları dahil olmak üzere hedef veritabanı türü veya veritabanı koleksiyonu. target_type için geçerli değerler 'SqlServer', 'SqlElasticPool', 'SqlDatabase' veya 'SqlShardMap' değerleridir.
target_id uniqueidentifier Hedef grup üyesinin benzersiz kimliği.
refresh_credential_name nvarchar(128) Hedef grup üyesine bağlanmak için kullanılan veritabanı kapsamlı kimlik bilgilerinin adı.
subscription_id uniqueidentifier Aboneliğin benzersiz kimliği.
resource_group_name nvarchar(128) Hedef grup üyesinin bulunduğu kaynak grubunun adı.
Server_name nvarchar(128) Hedef grupta yer alan sunucunun adı. Yalnızca target_type 'SqlServer' ise belirtilir.
Veritabanı_adı nvarchar(128) Hedef grupta yer alan veritabanının adı. Yalnızca target_type 'SqlDatabase' olduğunda belirtilir.
elastic_pool_name nvarchar(128) Hedef grupta yer alan Elastik havuzun adı. Yalnızca target_type 'SqlElasticPool' olduğunda belirtilir.
shard_map_name nvarchar(128) Hedef grupta yer alan parça eşlemelerinin adı. Yalnızca target_type 'SqlShardMap' olduğunda belirtilir.

Kaynaklar

Sonraki adımlar