Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Ändrar egenskaperna hos en sammanslagningspublikation. Den här lagrade proceduren körs i Publisher i publikationsdatabasen.
Transact-SQL syntaxkonventioner
Syntax
sys.sp_changemergepublication
[ @publication = ] N'publication'
[ , [ @property = ] N'property' ]
[ , [ @value = ] N'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]
Arguments
[ @publication = ] N'publicering'
Namnet på publikationen. @publication är sysname, utan standard.
[ @property = ] N'property'
Egenskapen att ändra sig för den aktuella publikationen. @property är sysname och kan vara ett av värdena som listas i tabellen nedan.
[ @value = ] N'value'
Det nya värdet för den angivna egenskapen.
@value är nvarchar(255), med standardvärdet NULL.
, och kan vara ett av de värden som listas i tabellen nedan.
Denna tabell beskriver de egenskaper för publikationen som kan ändras och beskriver begränsningar för värdena för dessa egenskaper.
| Property | Value | Description |
|---|---|---|
allow_anonymous |
true |
Anonyma prenumerationer är tillåtna. |
false |
Anonyma prenumerationer är inte tillåtna. | |
allow_partition_realignment |
true |
Raderingar skickas till prenumeranten för att återspegla resultatet av en partitionsändring genom att ta bort data som inte längre ingår i prenumerantens partition. Det här är standardbeteendet. |
false |
Data från en gammal partition lämnas på prenumeranten, där ändringar gjorda i denna data på Publisher inte replikeras till denna prenumerant. Istället replikeras ändringar som görs på Subscriber till Publisher. Detta används för att behålla data i en prenumeration från en gammal partition när datan måste vara tillgänglig för historiska ändamål. | |
allow_pull |
true |
Pull-prenumerationer är tillåtna för den aktuella publikationen. |
false |
Prenumerationer på pull är inte tillåtna för den aktuella publikationen. | |
allow_push |
true |
Push-prenumerationer är tillåtna för den aktuella publikationen. |
false |
Push-prenumerationer är inte tillåtna för den aktuella publikationen. | |
allow_subscriber_initiated_snapshot |
true |
Prenumeranten kan initiera snapshot-processen. |
false |
Prenumeranten kan inte starta snapshot-processen. | |
allow_subscription_copy |
true |
Du kan kopiera prenumerationsdatabaserna som prenumererar på denna publikation. |
false |
Du kan inte kopiera prenumerationsdatabaserna som prenumererar på denna publikation. | |
allow_synctoalternate |
true |
Tillåter en alternativ synkroniseringspartner att synkronisera med denna Publisher. |
false |
Tillåter inte en alternativ synkroniseringspartner att synkronisera med denna Publisher. | |
allow_web_synchronization |
true |
Prenumerationer kan synkroniseras över HTTPS. |
false |
Prenumerationer kan inte synkroniseras över HTTPS. | |
alt_snapshot_folder |
Specificerar platsen för den alternativa mappen för snapshoten. | |
automatic_reinitialization_policy |
1 |
Ändringar laddas upp från prenumeranten innan prenumerationen återstartas. |
0 |
Prenumerationen initieras om utan att först ladda upp ändringar. | |
centralized_conflicts |
true |
Alla konfliktposter lagras hos Publisher. Om du ändrar denna egenskap måste befintliga prenumeranter ominitialiseras. |
false |
Konfliktposter lagras på den server som förlorades i konfliktlösningen. Om du ändrar denna egenskap måste befintliga prenumeranter ominitialiseras. | |
compress_snapshot |
true |
Snapshot i en alternativ snapshot-mapp komprimeras till CAB-formatet. Snapshoten i standardmappen kan inte komprimeras. Att ändra denna egenskap kräver en ny snapshot. |
false |
Som standard är inte snapshoten komprimerad. Att ändra denna egenskap kräver en ny snapshot. | |
conflict_logging |
publisher |
Konfliktposter lagras hos Publisher. |
subscriber |
Konfliktposter lagras hos den prenumerant som orsakade konflikten. Stöds inte för SQL Server Compact-abonnenter. | |
both |
Konfliktposter lagras både hos Publisher och Subscriber. | |
conflict_retention |
En int som specificerar lagringstiden, i dagar, för vilken konflikter behålls. Att sätta conflict_retention på 0 betyder att ingen konfliktrensning behövs. |
|
description |
Beskrivning av publikationen. | |
dynamic_filters |
true |
Publiceringen filtreras baserat på en dynamisk klausul. |
false |
Publicering filtreras inte dynamiskt. | |
enabled_for_internet |
true |
Publicering är möjliggjord för internet. File Transfer Protocol (FTP) kan användas för att överföra snapshot-filerna till en prenumerant. Synkroniseringsfilerna för publiceringen läggs i katalogen C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\ftp . |
false |
Publicering är inte aktiverad på internet. | |
ftp_address |
Nätverksadressen för FTP-tjänsten för distributören. Specificerar var publiceringssnapshotfiler lagras. | |
ftp_login |
Användarnamnet som används för att ansluta till FTP-tjänsten. | |
ftp_password |
Användarlösenordet som används för att ansluta till FTP-tjänsten. | |
ftp_port |
Portnumret för FTP-tjänsten för distributören. Specificerar TCP-portnumret för FTP-platsen där publiceringssnapshotfilerna lagras. | |
ftp_subdirectory |
Specificerar var snapshot-filerna skapas om publikationen stödjer spridning av snapshots med FTP. | |
generation_leveling_threshold |
int | Specificerar antalet ändringar som finns i en generation. En generation är en samling förändringar som levereras till en Publisher eller prenumerant. |
keep_partition_changes |
true |
Synkroniseringen är optimerad, och endast prenumeranter som har rader i de ändrade partitionerna påverkas. Att ändra denna egenskap kräver en ny snapshot. |
false |
Synkroniseringen är inte optimerad, och partitionerna som skickas till prenumeranter verifieras när data ändras i en partition. Att ändra denna egenskap kräver en ny snapshot. | |
max_concurrent_merge |
En int som representerar det maximala antalet samtidiga sammanslagningsprocesser som kan köras mot en publikation. Om 0 finns det ingen gräns. Om fler än detta antal sammanslagningsprocesser är schemalagda att köras samtidigt, placeras överskottsjobben i en kö tills en aktuell merge-process är klar. | |
max_concurrent_dynamic_snapshots |
En int som representerar det maximala antalet snapshot-sessioner för att generera en filtrerad datasnapshot som kan köras samtidigt mot en merge-publikation som använder parametriserade radfilter. Om 0, finns det ingen gräns. Om fler än detta antal snapshot-processer är schemalagda att köras samtidigt, placeras överskottsjobben i en kö tills en aktuell sammanslagningsprocess är klar. |
|
post_snapshot_script |
Anger en pekare till en .sql filplats. Distribution Agent eller Merge Agent kör post-snapshot-skriptet efter att alla andra replikerade objektskript och data har applicerats under en initial synkronisering. Att ändra denna egenskap kräver en ny snapshot. |
|
pre_snapshot_script |
Anger en pekare till en .sql filplats. Merge Agent kör pre-snapshot-skriptet före något av de replikerade objektskripten när en snapshot appliceras på en prenumerant. Att ändra denna egenskap kräver en ny snapshot. |
|
publication_compatibility_level |
100RTM |
SQL Server 2008 (10.0.x) |
90RTM |
SQL Server 2005 (9.x) | |
publish_to_activedirectory |
true |
Denna parameter är föråldrad och behålls för bakåtkompatibilitet mellan skript. Du kan inte längre lägga till publiceringsinformation i služba Active Directory. |
false |
Tar bort publiceringsinformationen från služba Active Directory. | |
replicate_ddl |
1 |
Data Definition Language (DDL)-satser som körs hos Publisher replikeras. |
0 |
DDL-satser replikeras inte. | |
retention |
En int som representerar antalet retention_period_unit enheter för vilka ändringar ska sparas för den aktuella publikationen. Om prenumerationen inte synkroniseras inom lagringsperioden och de väntande ändringarna den fått togs bort av en rensningsoperation hos distributören, löper prenumerationen ut och måste initieras om. Den maximalt tillåtna lagringstiden är antalet dagar mellan den 31 december 9999 och det aktuella datumet.Notera: Behållningstiden för sammanslagningspublikationer har en 24-timmars frist för att tillgodose prenumeranter i olika tidszoner. |
|
retention_period_unit |
day |
Förvaringstiden anges i dagar. |
week |
Förvaringstiden anges i veckor. | |
month |
Förvaringstiden anges i månader. | |
year |
Förvaringstiden anges i år. | |
snapshot_in_defaultfolder |
true |
Snapshot-filer lagras i standardmappen snapshot. |
false |
Snapshot-filer lagras på den alternativa platsen som anges av alt_snapshot_folder. Denna kombination specificerar att snapshot-filerna lagras både på standard- och alternativplatsen. |
|
snapshot_ready |
true |
En översikt för publikationen finns tillgänglig. |
false |
Snapshot för publikationen finns inte tillgängligt. | |
status |
active |
Publiceringen är aktiv. |
inactive |
Publiceringen är i ett inaktivt tillstånd. | |
sync_mode |
native ellerbcp native |
Native-mode bulkkopieringsprogramutdata från alla tabeller används för den initiala snapshoten. |
charactereller bcp character |
Teckenläge bulkkopierar programutdata från alla tabeller används för den initiala ögonblicksbilden, vilket krävs för alla icke-SQL Server-prenumeranter. | |
use_partition_groupsNotera: Efter att ha använt partitionsgrupper, om du återgår till att använda setupbelongs, och sätter use_partition_groups=false i changemergearticle, kanske detta inte speglas korrekt efter att en snapshot tagits. De triggers som genereras av snapshot är kompatibla med partitionsgrupper.Lösningen i detta scenario är att sätta statusen till Inaktiv, ändra , use_partition_groupsoch sedan sätta statusen till Aktiv. |
true |
Publicering använder förberäknade partitioner. |
false |
Publicering använder inte förberäknade partitioner. | |
validate_subscriber_info |
Listar de funktioner som används för att hämta prenumerantinformation. Därefter validerar de dynamiska filtreringskriterierna som används för prenumeranten för att verifiera att informationen är konsekvent uppdelad. | |
web_synchronization_url |
Standardvärdet för Internet-URL:en som används för webbsynkronisering. | |
NULL (standardinställning) |
Returnerar listan över stödda värden för @property. |
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Erkänner att åtgärden som utförs av denna lagrade procedur kan ogiltigförklara en befintlig snapshot.
@force_invalidate_snapshot är bit, med standardvärdet 0.
0specificerar att ändring av publikationen inte ogiltigförklarar snapshoten. Om den lagrade proceduren upptäcker att ändringen kräver en ny snapshot, uppstår ett fel och inga ändringar görs.1specificerar att ändring av publikationen kan ogiltigförklara snapshoten. Om det finns befintliga prenumerationer som kräver en ny snapshot, ger det tillstånd att markera den befintliga snapshoten som föråldrad och att en ny snapshot genereras.
Se avsnittet Kommentarer för de egenskaper som, när de ändras, kräver att en ny snapshot genereras.
[ @force_reinit_subscription = ] force_reinit_subscription
Erkänner att åtgärden som utförs av denna lagrade procedur kan kräva att befintliga prenumerationer initialiseras om.
@force_reinit_subscription är lite, med standardvärdet 0.
0specificerar att ändring av publikation inte kräver att prenumerationer initieras om. Om den lagrade proceduren upptäcker att ändringen kräver att befintliga prenumerationer initialiseras om, uppstår ett fel och inga ändringar göras.1betyder att ändringar i publikationen återinitierar befintliga prenumerationer och ger tillstånd för prenumerationsominitiering att genomföras.
Se avsnittet Kommentarer för de egenskaper som, när de ändras, kräver att alla befintliga prenumerationer initieras om.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Remarks
sp_changemergepublication används vid sammanslagningsreplikation.
Att ändra följande egenskaper kräver att en ny snapshot genereras. Du måste ange ett värde på 1 för @force_invalidate_snapshot parameter.
alt_snapshot_foldercompress_snapshotdynamic_filtersftp_addressftp_loginftp_passwordftp_portftp_subdirectorypost_snapshot_script-
publication_compatibility_level(endast till80SP3) pre_snapshot_scriptsnapshot_in_defaultfoldersync_modeuse_partition_groups
Att ändra följande egenskaper kräver att befintliga prenumerationer initieras om. Du måste ange ett värde för 1@force_reinit_subscription parametern.
dynamic_filtersvalidate_subscriber_info
För att lista publiceringsobjekt i služba Active Directory med , publish_to_active_directorymåste SQL Server-objektet redan skapas i služba Active Directory.
Examples
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
-- Disable DDL replication for the publication.
USE [AdventureWorks2022]
EXEC sp_changemergepublication
@publication = @publication,
@property = N'replicate_ddl',
@value = 0,
@force_invalidate_snapshot = 0,
@force_reinit_subscription = 0;
GO
Permissions
Endast medlemmar av sysadmin-fasta serverrollen eller db_owner fasta databasrollen kan köra sp_changemergepublication.