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
Verandert de eigenschappen van een samengevoegde publicatie. Deze opgeslagen procedure wordt uitgevoerd bij Publisher in de publicatiedatabase.
Transact-SQL syntaxis-conventies
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'publicatie'
De naam van de publicatie. @publication is sysname, zonder standaard.
[ @property = ] N'eigenschap'
De eigenschap moet veranderen voor de gegeven publicatie. @property is een systeemnaam en kan een van de waarden zijn die in de volgende tabel staan.
[ @value = ] N'waarde'
De nieuwe waarde voor de gespecificeerde eigenschap.
@value is nvarchar(255), met een standaardwaarde van NULL.
, en kan een van de waarden zijn die in de volgende tabel staan.
Deze tabel beschrijft de eigenschappen van de publicatie die kunnen worden gewijzigd en beschrijft beperkingen op de waarden voor die eigenschappen.
| Vastgoed | Value | Description |
|---|---|---|
allow_anonymous |
true |
Anonieme abonnementen zijn toegestaan. |
false |
Anonieme abonnementen zijn niet toegestaan. | |
allow_partition_realignment |
true |
Verwijderingen worden naar de abonnee gestuurd om de resultaten van een partitiewijziging weer te geven door gegevens te verwijderen die niet langer deel uitmaken van de partitie van de abonnee. Dit is het standaardgedrag. |
false |
Data van een oude partitie blijft op de abonnee, waar wijzigingen in deze data op de Publisher niet worden gerepliceerd naar deze abonnee. In plaats daarvan worden wijzigingen die op de Subscriber worden aangebracht naar de Publisher gerepliceerd. Dit wordt gebruikt om gegevens in een abonnement van een oude partitie te bewaren wanneer de gegevens toegankelijk moeten zijn voor historische doeleinden. | |
allow_pull |
true |
Trekabonnementen zijn toegestaan voor de betreffende publicatie. |
false |
Pull-abonnementen zijn niet toegestaan voor de betreffende publicatie. | |
allow_push |
true |
Push-abonnementen zijn toegestaan voor de betreffende publicatie. |
false |
Push-abonnementen zijn niet toegestaan voor de betreffende publicatie. | |
allow_subscriber_initiated_snapshot |
true |
De abonnee kan het snapshotproces starten. |
false |
De abonnee kan het snapshotproces niet starten. | |
allow_subscription_copy |
true |
U kunt de abonnementsdatabases kopiëren die zich op deze publicatie abonneren. |
false |
Je kunt de abonnementsdatabases die op deze publicatie zijn abonneerd niet kopiëren. | |
allow_synctoalternate |
true |
Staat een alternatieve synchronisatiepartner toe om met deze Publisher te synchroniseren. |
false |
Staat geen alternatieve synchronisatiepartner toe om met deze Publisher te synchroniseren. | |
allow_web_synchronization |
true |
Abonnementen kunnen worden gesynchroniseerd via HTTPS. |
false |
Abonnementen kunnen niet gesynchroniseerd worden via HTTPS. | |
alt_snapshot_folder |
Geeft de locatie van de alternatieve map voor de snapshot aan. | |
automatic_reinitialization_policy |
1 |
Wijzigingen worden vanuit de abonnee geüpload voordat het abonnement opnieuw wordt geïntinitialiseerd. |
0 |
Het abonnement wordt opnieuw geïnitiseerd zonder eerst wijzigingen te uploaden. | |
centralized_conflicts |
true |
Alle conflictregisters worden opgeslagen bij de Publisher. Als je deze eigenschap verandert, moeten bestaande abonnees opnieuw worden geïntinitieerd. |
false |
Conflictrecords worden opgeslagen op de server die verloren is gegaan bij de conflictoplossing. Als je deze eigenschap verandert, moeten bestaande abonnees opnieuw worden geïntinitieerd. | |
compress_snapshot |
true |
Snapshot in een alternatieve snapshotmap wordt gecomprimeerd in het CAB-formaat. De snapshot in de standaard snapshotmap kan niet worden gecomprimeerd. Het wijzigen van deze eigenschap vereist een nieuwe snapshot. |
false |
Standaard is de snapshot niet gecomprimeerd. Het wijzigen van deze eigenschap vereist een nieuwe snapshot. | |
conflict_logging |
publisher |
Conflictgegevens worden opgeslagen bij de Publisher. |
subscriber |
Conflictgegevens worden opgeslagen bij de abonnee die het conflict heeft veroorzaakt. Niet ondersteund voor SQL Server Compact-abonnees. | |
both |
Conflictgegevens worden opgeslagen bij zowel de Publisher als de Abonnee. | |
conflict_retention |
Een int die de retentieperiode in dagen specificeert waarvoor conflicten worden gehouden. Op conflict_retention instellen 0 betekent dat er geen conflictopruiming nodig is. |
|
description |
Beschrijving van de publicatie. | |
dynamic_filters |
true |
Publicatie wordt gefilterd op basis van een dynamische clausule. |
false |
Publicatie wordt niet dynamisch gefilterd. | |
enabled_for_internet |
true |
Publicatie is ingeschakeld voor het internet. File Transfer Protocol (FTP) kan worden gebruikt om de snapshotbestanden naar een abonnee over te dragen. De synchronisatiebestanden voor de publicatie worden in de C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\ftp map geplaatst. |
false |
Publicatie is niet ingeschakeld op het internet. | |
ftp_address |
Het netwerkadres van de FTP-service voor de distributeur. Geeft aan waar publicatiesnapshotbestanden worden opgeslagen. | |
ftp_login |
De gebruikersnaam die wordt gebruikt om verbinding te maken met de FTP-dienst. | |
ftp_password |
Het gebruikerswachtwoord dat wordt gebruikt om verbinding te maken met de FTP-dienst. | |
ftp_port |
Het poortnummer van de FTP-service voor de distributeur. Specificeert het TCP-poortnummer van de FTP-site waar de publicatiesnapshotbestanden worden opgeslagen. | |
ftp_subdirectory |
Geeft aan waar de snapshotbestanden worden aangemaakt als de publicatie het propageren van snapshots ondersteunt via FTP. | |
generation_leveling_threshold |
int | Specificeert het aantal wijzigingen dat in een generatie is opgenomen. Een generatie is een verzameling wijzigingen die worden geleverd aan een Publisher of Abonnee. |
keep_partition_changes |
true |
Synchronisatie is geoptimaliseerd, en alleen abonnees die rijen hebben in de gewijzigde partities worden beïnvloed. Het wijzigen van deze eigenschap vereist een nieuwe snapshot. |
false |
Synchronisatie is niet geoptimaliseerd, en de partities die naar abonnees worden gestuurd, worden geverifieerd wanneer gegevens in een partitie veranderen. Het wijzigen van deze eigenschap vereist een nieuwe snapshot. | |
max_concurrent_merge |
Een int die het maximale aantal gelijktijdige samenvoegprocessen vertegenwoordigt dat tegen een publicatie kan worden uitgevoerd. Als het 0 is, is er geen limiet. Als meer dan dit aantal mergeprocessen tegelijkertijd wordt uitgevoerd, worden de overtollige taken in een wachtrij geplaatst totdat een currentlmerge-proces is afgerond. | |
max_concurrent_dynamic_snapshots |
Een int die het maximale aantal snapshotsessies vertegenwoordigt om een gefilterde datasnapshot te genereren die gelijktijdig kan draaien tegen een mergepublicatie die geparametriseerde rijfilters gebruikt. Als 0, is er geen limiet. Als meer dan dit aantal snapshot-processen tegelijk wordt uitgevoerd, worden de overtollige taken in een wachtrij geplaatst totdat een huidig mergeproces is afgerond. |
|
post_snapshot_script |
Hiermee geeft u een aanwijzer naar een .sql bestandslocatie. De Distribution Agent of Merge Agent voert het post-snapshot script uit nadat alle andere gerepliceerde objectscripts en data zijn toegepast tijdens een initiële synchronisatie. Het wijzigen van deze eigenschap vereist een nieuwe snapshot. |
|
pre_snapshot_script |
Hiermee geeft u een aanwijzer naar een .sql bestandslocatie. De Merge Agent voert het pre-snapshot script uit vóór een van de gerepliceerde objectscripts bij het toepassen van een snapshot bij een abonnee. Het wijzigen van deze eigenschap vereist een nieuwe snapshot. |
|
publication_compatibility_level |
100RTM |
SQL Server 2008 (10.0.x) |
90RTM |
SQL Server 2005 (9.x) | |
publish_to_activedirectory |
true |
Deze parameter is verouderd en wordt behouden voor achterwaartse compatibiliteit van scripts. Je kunt geen publicatie-informatie meer toevoegen aan Active Directory. |
false |
Verwijdert de publicatie-informatie uit Active Directory. | |
replicate_ddl |
1 |
Data Definition Language (DDL)-instructies die bij de Publisher worden uitgevoerd, worden gerepliceerd. |
0 |
DDL-statements worden niet gerepliceerd. | |
retention |
Een int die het aantal retention_period_unit eenheden weergeeft waarvoor wijzigingen voor de betreffende publicatie moeten worden opgeslagen. Als het abonnement niet binnen de retentieperiode is gesynchroniseerd en de openstaande wijzigingen die het heeft ontvangen zijn verwijderd door een opruimoperatie bij de distributeur, verloopt het abonnement en moet het opnieuw worden geïntialiseerd. De maximaal toegestane retentieperiode is het aantal dagen tussen 31 december 9999 en de huidige datum.Opmerking: De retentieperiode voor samengevoegde publicaties heeft een respijtperiode van 24 uur om abonnees in verschillende tijdzones te accommoderen. |
|
retention_period_unit |
day |
De retentieperiode wordt in dagen vastgesteld. |
week |
De retentieperiode wordt in weken vastgesteld. | |
month |
De retentieperiode wordt in maanden vastgesteld. | |
year |
De retentieperiode wordt in jaren vastgesteld. | |
snapshot_in_defaultfolder |
true |
Snapshotbestanden worden opgeslagen in de standaard snapshotmap. |
false |
Snapshotbestanden worden opgeslagen op de alternatieve locatie die is gespecificeerd door alt_snapshot_folder. Deze combinatie specificeert dat de snapshotbestanden zowel op de standaard- als alternatieve locatie worden opgeslagen. |
|
snapshot_ready |
true |
Een overzicht van de publicatie is beschikbaar. |
false |
Een snapshot van de publicatie is niet beschikbaar. | |
status |
active |
De publicatie is in actieve staat. |
inactive |
De publicatie bevindt zich in een inactieve staat. | |
sync_mode |
native ofbcp native |
Native mode bulk-copy programma-uitvoer van alle tabellen wordt gebruikt voor de initiële snapshot. |
characterof bcp character |
Voor de initiële snapshot wordt de uitvoer van het bulk-programma in tekenmodus gebruikt voor de initiële snapshot, wat vereist is voor alle niet-SQL Server-abonnees. | |
use_partition_groupsOpmerking: Na het gebruik van partitiegroepen, als je terugkeert naar setupbelongs, en zet use_partition_groups=false in changemergearticle, wordt dit mogelijk niet correct weergegeven nadat een snapshot is genomen. De triggers die door snapshot worden gegenereerd, zijn compliant met partitiegroepen.De oplossing voor dit scenario is om de status op Inactief te zetten, de use_partition_groupste wijzigen en vervolgens de status op Actief te zetten. |
true |
Publicatie maakt gebruik van vooraf berekende partities. |
false |
Publicatie gebruikt geen vooraf berekende partities. | |
validate_subscriber_info |
Geeft een lijst van de functies die worden gebruikt om abonnee-informatie op te halen. Vervolgens valideert het de dynamische filtercriteria die voor de abonnee worden gebruikt om te verifiëren dat de informatie consistent is gepartitioneerd. | |
web_synchronization_url |
Standaardwaarde van de internet-URL die wordt gebruikt voor websynchronisatie. | |
NULL (standaard) |
Geeft de lijst met ondersteunde waarden voor @property terug. |
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Erkent dat de actie die door deze opgeslagen procedure wordt uitgevoerd, een bestaande snapshot ongeldig kan maken.
@force_invalidate_snapshot is bit, met een standaardwaarde van 0.
0specificeert dat het wijzigen van de publicatie de snapshot niet ongeldig maakt. Als de opgeslagen procedure detecteert dat de wijziging een nieuwe snapshot vereist, ontstaat er een fout en worden er geen wijzigingen aangebracht.1specificeert dat het wijzigen van de publicatie de snapshot ongeldig kan maken. Als er bestaande abonnementen zijn die een nieuwe snapshot vereisen, geeft het toestemming om de bestaande snapshot als verouderd te markeren en om een nieuwe snapshot te genereren.
Zie de sectie Opmerkingen voor de eigenschappen die, wanneer gewijzigd, vereisen dat er een nieuwe snapshot wordt gegenereerd.
[ @force_reinit_subscription = ] force_reinit_subscription
Erkent dat de actie die door deze opgeslagen procedure wordt ondernomen, mogelijk vereist dat bestaande abonnementen opnieuw worden geïntialiseerd.
@force_reinit_subscription is bit, met een standaardwaarde van 0.
0Geeft aan dat het wijzigen van de publicatie niet vereist dat abonnementen opnieuw geïnitiseerd worden. Als de opgeslagen procedure detecteert dat de wijziging vereist dat bestaande abonnementen opnieuw worden geïntialiseerd, treedt er een fout op en worden er geen wijzigingen aangebracht.1betekent dat wijzigingen in de publicatie bestaande abonnementen opnieuw initialiseren, en geeft toestemming voor de herinitialisatie van het abonnement.
Zie de sectie Opmerkingen voor de eigenschappen die, wanneer gewijzigd, vereisen dat alle bestaande abonnementen opnieuw worden geïntinitiseerd.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Remarks
sp_changemergepublication wordt gebruikt bij merge-replicatie.
Het wijzigen van de volgende eigenschappen vereist dat er een nieuwe snapshot wordt gegenereerd. Je moet een waarde van 1 specificeren voor de @force_invalidate_snapshot parameter.
alt_snapshot_foldercompress_snapshotdynamic_filtersftp_addressftp_loginftp_passwordftp_portftp_subdirectorypost_snapshot_script-
publication_compatibility_level(alleen aan80SP3) pre_snapshot_scriptsnapshot_in_defaultfoldersync_modeuse_partition_groups
Het wijzigen van de volgende eigenschappen vereist dat bestaande abonnementen opnieuw worden geïntialiseerd. Je moet een waarde van 1 specificeren voor de @force_reinit_subscription parameter.
dynamic_filtersvalidate_subscriber_info
Om publicatieobjecten aan Active Directory te vermelden via publish_to_active_directory, moet het SQL Server-object al in Active Directory zijn aangemaakt.
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
Alleen leden van de sysadmin-vaste serverrol of db_owner vaste databaserol kunnen uitvoeren sp_changemergepublication.