Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Managed Instance
Voegt een nieuwe agenttaak toe die wordt gebruikt om de synchronisatie van een push-abonnement te plannen met een mergepublicatie. Deze opgeslagen procedure wordt uitgevoerd bij Publisher in de publicatiedatabase.
Important
Bij het configureren van een Publisher met een externe Distributor worden de waarden die voor alle parameters, inclusief @job_login en @job_password, als platte tekst naar de Distributor gestuurd. Versleutel de verbinding tussen publisher en de externe distributeur voordat u deze opgeslagen procedure uitvoert. Zie SQL Server Database Engine configureren voor het versleutelen van verbindingenvoor meer informatie.
Transact-SQL syntaxis-conventies
Note
Microsoft Entra ID werd voorheen Azure Active Directory (Azure AD) genoemd.
Syntax
sys.sp_addmergepushsubscription_agent
[ @publication = ] N'publication'
[ , [ @subscriber = ] N'subscriber' ]
[ , [ @subscriber_db = ] N'subscriber_db' ]
[ , [ @subscriber_security_mode = ] subscriber_security_mode ]
[ , [ @subscriber_login = ] N'subscriber_login' ]
[ , [ @subscriber_password = ] N'subscriber_password' ]
[ , [ @publisher_security_mode = ] publisher_security_mode ]
[ , [ @publisher_login = ] N'publisher_login' ]
[ , [ @publisher_password = ] N'publisher_password' ]
[ , [ @job_login = ] N'job_login' ]
[ , [ @job_password = ] N'job_password' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @frequency_type = ] frequency_type ]
[ , [ @frequency_interval = ] frequency_interval ]
[ , [ @frequency_relative_interval = ] frequency_relative_interval ]
[ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]
[ , [ @frequency_subday = ] frequency_subday ]
[ , [ @frequency_subday_interval = ] frequency_subday_interval ]
[ , [ @active_start_time_of_day = ] active_start_time_of_day ]
[ , [ @active_end_time_of_day = ] active_end_time_of_day ]
[ , [ @active_start_date = ] active_start_date ]
[ , [ @active_end_date = ] active_end_date ]
[ , [ @enabled_for_syncmgr = ] N'enabled_for_syncmgr' ]
[ ; ]
Arguments
[ @publication = ] N'publicatie'
De naam van de publicatie. @publication is sysname, zonder standaard.
[ @subscriber = ] N'abonnee'
De naam van de abonnee.
@subscriber is sysname, met als standaard .NULL
[ @subscriber_db = ] N'subscriber_db'
De naam van de abonnementsdatabase.
@subscriber_db is systeemnaam, met als standaard .NULL
[ @subscriber_security_mode = ] subscriber_security_mode
De beveiligingsmodus om te gebruiken bij het verbinden met een abonnee tijdens synchronisatie.
@subscriber_security_mode is smallint, met een standaard van 1. De volgende waarden definiëren de beveiligingsmodus:
-
0specificeert SQL Server-authenticatie. -
1specificeert Windows-authenticatie. -
2specificeert Microsoft Entra-wachtwoordauthenticatie, beginnend met SQL Server 2022 (16.x) CU 6. -
3specificeert Microsoft Entra geïntegreerde authenticatie, beginnend met SQL Server 2022 (16.x) CU 6. -
4specificeert Microsoft Entra tokenauthenticatie, beginnend met SQL Server 2022 (16.x) CU 6.
Important
Gebruik waar mogelijk Windows-verificatie.
[ @subscriber_login = ] N'subscriber_login'
De abonnee logt in bij het verbinden met een abonnee tijdens synchronisatie.
@subscriber_login is een systeemnaam, met als standaard .NULL
@subscriber_login is vereist als @subscriber_security_mode is ingesteld op 0.
[ @subscriber_password = ] N'subscriber_password'
Het abonneewachtwoord voor SQL Server-authenticatie.
@subscriber_password is een systeemnaam, met als standaard NULL.
@subscriber_password is vereist als @subscriber_security_mode is ingesteld op 0. Als een abonneewachtwoord wordt gebruikt, wordt dit automatisch versleuteld.
Important
Indien mogelijk vraagt u gebruikers om beveiligingsreferenties in te voeren tijdens runtime. Als u referenties in een scriptbestand moet opslaan, moet u het bestand beveiligen om onbevoegde toegang te voorkomen.
[ @publisher_security_mode = ] publisher_security_mode
De beveiligingsmodus die je gebruikt bij het verbinden met een uitgever bij synchronisatie.
@publisher_security_mode is smallint, met een standaard van 1. De volgende waarden definiëren de beveiligingsmodus:
-
0specificeert SQL Server-authenticatie. -
1specificeert Windows-authenticatie. -
2specificeert Microsoft Entra-wachtwoordauthenticatie, beginnend met SQL Server 2022 (16.x) CU 6. -
3specificeert Microsoft Entra geïntegreerde authenticatie, beginnend met SQL Server 2022 (16.x) CU 6. -
4specificeert Microsoft Entra tokenauthenticatie, beginnend met SQL Server 2022 (16.x) CU 6.
Important
Gebruik waar mogelijk Windows-verificatie.
[ @publisher_login = ] N'publisher_login'
De login die gebruikt wordt bij het verbinden met een uitgever bij synchronisatie.
@publisher_login is een systeemnaam, met als standaard .NULL
[ @publisher_password = ] N'publisher_password'
Het wachtwoord dat wordt gebruikt bij het verbinden met de uitgever.
@publisher_password is een systeemnaam, met als standaard NULL.
Important
Gebruik geen leeg wachtwoord. Gebruik een sterk wachtwoord. Indien mogelijk vraagt u gebruikers om beveiligingsreferenties in te voeren tijdens runtime. Als u referenties in een scriptbestand moet opslaan, moet u het bestand beveiligen om onbevoegde toegang te voorkomen.
[ @job_login = ] N'job_login'
De login voor het Windows-account waaronder de agent draait.
@job_login is nvarchar(257), met een standaard van NULL. Dit Windows-account wordt altijd gebruikt voor agentverbindingen met de Distributor en voor verbindingen met de Subscriber en Publisher bij gebruik van Windows Integrated authenticatie.
[ @job_password = ] N'job_password'
Het wachtwoord voor het Windows-account waaronder de agent draait. @job_password is sysname, zonder standaard.
Important
Indien mogelijk vraagt u gebruikers om beveiligingsreferenties in te voeren tijdens runtime. Als u referenties in een scriptbestand moet opslaan, moet u het bestand beveiligen om onbevoegde toegang te voorkomen.
[ @job_name = ] N'job_name'
De naam van een bestaande agentfunctie.
@job_name is sysname, met als standaard .NULL Deze parameter wordt alleen gespecificeerd wanneer het abonnement is gesynchroniseerd met een bestaande taak in plaats van een nieuw aangemaakte taak (de standaard). Als je geen lid bent van de sysadmin fixed server-rol, moet je @job_login en @job_password specificeren wanneer je @job_name specificeert.
[ @frequency_type = ] frequency_type
Een waarde die aangeeft wanneer de Merge Agent draait. @frequency_type is int, en kan een van de volgende waarden zijn.
| Value | Description |
|---|---|
1 |
Eenmaal |
2 |
Op aanvraag |
4 |
Dagelijks |
8 |
Wekelijks |
16 |
Maandelijks |
32 |
Maandelijkse verwant |
64 |
Autostart |
128 |
Terugkerend |
NULL (standaard) |
Note
Het specificeren van een waarde van 64 zorgt ervoor dat de Merge Agent in continue modus draait. Dit komt overeen met het instellen van de -Continuous parameter voor de agent. Zie Replicatiesamenvoegagentvoor meer informatie.
[ @frequency_interval = ] frequency_interval
De dagen waarop de Merge Agent draait. @frequency_interval is int, en kan een van de volgende waarden zijn.
| Value | Description |
|---|---|
1 |
Zondag |
2 |
maandag |
3 |
Tuesday |
4 |
woensdag |
5 |
donderdag |
6 |
Vrijdag |
7 |
Zaterdag |
8 |
Dag |
9 |
Doordeweeks |
10 |
Weekenddagen |
NULL (standaard) |
[ @frequency_relative_interval = ] frequency_relative_interval
De datum van de Merge Agent. Deze parameter wordt gebruikt wanneer @frequency_type is ingesteld op 32 (maandelijkse relatieve).
@frequency_relative_interval is int, en kan een van de volgende waarden zijn.
| Value | Description |
|---|---|
1 |
First |
2 |
Second |
4 |
Third |
8 |
Fourth |
16 |
Laatste |
NULL (standaard) |
[ @frequency_recurrence_factor = ] frequency_recurrence_factor
De door @frequency_type gebruikte recurrence factor
@frequency_recurrence_factor is int, met als standaard .0
[ @frequency_subday = ] frequency_subday
Hoe vaak moet je verzetten tijdens de vastgestelde periode? @frequency_subday is int, en kan een van de volgende waarden zijn.
| Value | Description |
|---|---|
1 |
Eenmaal |
2 |
Second |
4 |
Minuut |
8 |
Uur |
NULL (standaard) |
[ @frequency_subday_interval = ] frequency_subday_interval
De pauze voor @frequency_subday.
@frequency_subday_interval is int, met als standaard .NULL
[ @active_start_time_of_day = ] active_start_time_of_day
Het tijdstip waarop de Merge Agent voor het eerst wordt gepland, geformatteerd als HHmmss.
@active_start_time_of_day is int, met als standaard .0
[ @active_end_time_of_day = ] active_end_time_of_day
Het tijdstip waarop de Merge Agent stopt met worden gepland, geformatteerd als HHmmss.
@active_end_time_of_day is int, met als standaard .235959
[ @active_start_date = ] active_start_date
De datum waarop de Merge Agent voor het eerst wordt gepland, geformatteerd als yyyyMMdd.
@active_start_date is int, met een standaard van 0.
[ @active_end_date = ] active_end_date
De datum waarop de Merge Agent stopt met worden gepland, geformatteerd als yyyyMMdd.
@active_end_date is int, met als standaard .99991231
[ @enabled_for_syncmgr = ] N'enabled_for_syncmgr'
Geeft aan of het abonnement gesynchroniseerd kan worden via Windows Synchronization Manager.
@enabled_for_syncmgr is nvarchar(5), met als standaard .false
- Als
false, is het abonnement niet geregistreerd bij Synchronization Manager. - Als
true, is het abonnement geregistreerd bij Synchronization Manager en kan het worden gesynchroniseerd zonder SQL Server Management Studio te starten.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Remarks
sp_addmergepushsubscription_agent wordt gebruikt in merge-replicatie en gebruikt functionaliteit vergelijkbaar met sp_addpushsubscription_agent.
Examples
-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables
-- on the command line and in SQL Server Management Studio, see the
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorksReplica';
SET @hostname = N'adventure-works\david8'
-- Add a push subscription to a merge publication.
USE [AdventureWorks2022];
EXEC sp_addmergesubscription
@publication = @publication,
@subscriber = @subscriber,
@subscriber_db = @subscriptionDB,
@subscription_type = N'push',
@hostname = @hostname;
--Add an agent job to synchronize the push subscription.
EXEC sp_addmergepushsubscription_agent
@publication = @publication,
@subscriber = @subscriber,
@subscriber_db = @subscriptionDB,
@job_login = $(Login),
@job_password = $(Password);
GO
Permissions
Alleen leden van de sysadmin-vaste serverrol of db_owner vaste databaserol kunnen uitvoeren sp_addmergepushsubscription_agent.