jobs.sp_add_target_group_member (Pekerjaan Azure Elastic) (Transact-SQL)

Berlaku untuk:Azure SQL Database

Menambahkan database atau grup database ke grup target di layanan Azure Elastic Jobs untuk Azure SQL Database.

Konvensi sintaks transact-SQL

Sintaks

[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' ]
        [ , [ @target_id = ] 'target_id' OUTPUT ]

Argumen

@target_group_name

Nama grup target tempat anggota akan ditambahkan. target_group_name adalah nvarchar(128), tanpa default.

@membership_type

Menentukan apakah anggota grup target akan disertakan atau dikecualikan. membership_type adalah nvarchar(128), dengan default 'Sertakan'. Nilai yang valid untuk membership_type adalah 'Sertakan' atau 'Kecualikan'.

@target_type

Jenis database target atau kumpulan database termasuk semua database di server logis Azure SQL Database, semua database dalam kumpulan elastis, atau database individual. target_type adalah nvarchar(128), tanpa default.

Nilai yang valid untuk target_type adalah , , SqlDatabaseSqlElasticPool.SqlServer

@refresh_credential_name

Nama kredensial cakupan database. refresh_credential_name adalah nvarchar(128), tanpa default.

Saat menggunakan autentikasi Microsoft Entra (sebelumnya Azure Active Directory), hilangkan parameter @refresh_credential_name . Hanya untuk digunakan dengan autentikasi berbasis kredensial.

@server_name

Nama server logis Azure SQL Database yang harus ditambahkan ke grup target yang ditentukan. server_name harus ditentukan ketika target_type adalah SqlServer. server_name adalah nvarchar(128), tanpa default.

Sertakan .database.windows.net sebagai bagian dari @server_name.

@database_name

Nama database yang harus ditambahkan ke grup target yang ditentukan. database_name harus ditentukan ketika target_type adalah SqlDatabase. database_name adalah nvarchar(128), tanpa default.

@elastic_pool_name

Nama kumpulan elastis Azure SQL Database yang harus ditambahkan ke grup target yang ditentukan. elastic_pool_name harus ditentukan ketika target_type adalah SqlElasticPool. elastic_pool_name adalah nvarchar(128), tanpa default.

@target_id OUTPUT

Nomor identifikasi target yang ditetapkan untuk anggota grup target jika dibuat ditambahkan ke grup target. target_id adalah variabel output dari jenis pengidentifikasi unik, dengan default NULL.

Mengembalikan Nilai Kode

0 (keberhasilan) atau 1 (kegagalan)

Keterangan

Pekerjaan dijalankan pada semua database tunggal dalam server atau dalam kumpulan elastis pada saat pelaksanaan, ketika server atau kumpulan elastis disertakan dalam grup target.

Pilih satu metode untuk semua target untuk pekerjaan elastis. Misalnya, untuk satu pekerjaan elastis, Anda tidak dapat mengonfigurasi satu server target untuk menggunakan kredensial cakupan database dan yang lain untuk menggunakan autentikasi ID Microsoft Entra. Untuk informasi lebih lanjut, lihat Autentikasi.

Izin

Secara default, anggota peran server tetap sysadmin dapat menjalankan prosedur tersimpan ini. Hanya anggota sysadmin yang dapat menggunakan prosedur tersimpan ini untuk mengedit atribut pekerjaan yang dimiliki oleh pengguna lain.

Contoh

Menambahkan satu database ke grup target

Contoh berikut menunjukkan cara menambahkan satu database di server ke grup target bernama ElasticJobGroup, menggunakan autentikasi Microsoft Entra (sebelumnya Azure Active Directory).

Koneksi ke job_database dan jalankan perintah berikut untuk menambahkan master database ke grup target bernama ElasticJobGroup:

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

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

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

Menambahkan beberapa database ke grup target

Contoh berikut menambahkan semua database di London server dan NewYork ke grup Servers Maintaining Customer Information. Anda harus tersambung ke database pekerjaan yang ditentukan saat membuat agen pekerjaan, dalam hal ElasticJobsini .

Saat menggunakan autentikasi Microsoft Entra (sebelumnya Azure Active Directory), hilangkan parameter @refresh_credential_name , yang seharusnya hanya disediakan saat menggunakan kredensial cakupan database. Dalam contoh berikut, @refresh_credential_name parameter dikomentari.

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

-- Create 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', --database-scoped credential
@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', --database-scoped credential
@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

Mengecualikan database di server logis

Contoh berikut menunjukkan cara menjalankan pekerjaan terhadap semua database di server server1.database.windows.netlogis, kecuali untuk database bernama MappingDB atau database bernama MappingDB2.

Koneksi ke job_database dan jalankan perintah berikut:

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

-- Create 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',
@server_name=N'server1.database.windows.net';
GO

--Exclude one database from a 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

--Exclude another database from a 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'MappingDB2';
GO

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

Membuat grup target (kumpulan)

Contoh berikut ini menunjukkan cara menargetkan semua database dalam satu atau beberapa kumpulan elastis.

Koneksi ke job_database dan jalankan perintah berikut:

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

-- Create 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',
@server_name = 'server1.database.windows.net',
@elastic_pool_name = 'ElasticPool1';

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