jobs.sp_add_target_group_member (processi elastici di Azure) (Transact-SQL)
Si applica a: Database SQL di Azure
Aggiunge un database o un gruppo di database a un gruppo di destinazione nel servizio Processi elastici di Azure per database SQL di Azure.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
[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 ]
Argomenti
@target_group_name
Nome del gruppo di destinazione a cui verrà aggiunto il membro. target_group_name è nvarchar(128), senza impostazione predefinita.
@membership_type
Specifica se il membro del gruppo di destinazione deve essere incluso o escluso. membership_type è nvarchar(128), con il valore predefinito "Include". I valori validi per membership_type sono 'Include' o 'Exclude'.
@target_type
Tipo di database di destinazione o raccolta di database, inclusi tutti i database in un server logico database SQL di Azure, tutti i database in un pool elastico o un singolo database. target_type è nvarchar(128), senza impostazione predefinita.
I valori validi per target_type sono , , SqlDatabase
SqlElasticPool
.SqlServer
@refresh_credential_name
Nome della credenziale con ambito database. refresh_credential_name è nvarchar(128), senza impostazione predefinita.
Quando si usa l'autenticazione di Microsoft Entra (in precedenza Azure Active Directory), omettere il parametro @refresh_credential_name . Solo per l'uso con l'autenticazione basata su credenziali.
@server_name
Nome del server logico database SQL di Azure che deve essere aggiunto al gruppo di destinazione specificato. server_name deve essere specificato quando target_type è SqlServer
. server_name è nvarchar(128), senza impostazione predefinita.
Includere come .database.windows.net
parte di @server_name.
@database_name
Nome del database da aggiungere al gruppo di destinazione specificato. database_name deve essere specificato quando target_type è SqlDatabase
. database_name è nvarchar(128), senza impostazione predefinita.
@elastic_pool_name
Nome del pool elastico database SQL di Azure che deve essere aggiunto al gruppo di destinazione specificato. elastic_pool_name deve essere specificato quando target_type è SqlElasticPool
. elastic_pool_name è nvarchar(128), senza impostazione predefinita.
@target_id PRODOTTO
Numero di identificazione della destinazione assegnato al membro del gruppo di destinazione se viene creato e aggiunto correttamente al gruppo di destinazione. target_id è una variabile di output di tipo uniqueidentifier, con un valore predefinito .NULL
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
Un processo viene eseguito in tutti i singoli database all'interno di un server o in un pool elastico al momento dell'esecuzione, quando un server o un pool elastico è incluso nel gruppo di destinazione.
Scegliere un metodo per tutte le destinazioni per un processo elastico. Ad esempio, per un singolo processo elastico, non è possibile configurare un server di destinazione per l'uso delle credenziali con ambito database e un altro per l'uso dell'autenticazione con ID Microsoft Entra. Per altre informazioni, vedere Autenticazione.
Autorizzazioni
Per impostazione predefinita, questa stored procedure può essere eseguita dai membri del ruolo predefinito del server sysadmin . Solo i membri del ruolo sysadmin possono usare questa stored procedure per modificare gli attributi dei processi di proprietà di altri utenti.
Esempi
Aggiungere un database al gruppo di destinazione
L'esempio seguente illustra come aggiungere un database in un server a un gruppo di destinazione denominato ElasticJobGroup
, usando l'autenticazione di Microsoft Entra (in precedenza Azure Active Directory).
Connettersi a job_database
ed eseguire il comando seguente per aggiungere il master
database al gruppo di destinazione denominato 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
Aggiungere più database a un gruppo di destinazione
Nell'esempio seguente vengono aggiunti tutti i database nei London
server e NewYork
al gruppo Servers Maintaining Customer Information
. È necessario connettersi al database dei processi specificato durante la creazione dell'agente processo, in questo caso ElasticJobs
.
Quando si usa l'autenticazione di Microsoft Entra (in precedenza Azure Active Directory), omettere il parametro @refresh_credential_name , che deve essere fornito solo quando si usano credenziali con ambito database. Negli esempi seguenti il @refresh_credential_name
parametro è impostato come commento.
--Connect to the jobs database specified when creating the job agent.
-- 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
Escludere database in un server logico
Nell'esempio seguente viene illustrato come eseguire un processo su tutti i database in un server server1.database.windows.net
logico, ad eccezione del database denominato MappingDB
o del database denominato MappingDB2
.
Connettersi al job_database
database ed eseguire il comando seguente:
--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
Creare un gruppo di destinazione (pool)
L'esempio seguente mostra come specificare come destinazione tutti i database in uno o più pool elastici.
Connettersi al database job_database
ed eseguire il comando seguente:
--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