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 Database
De replicatiemomentopnameagent is een uitvoerbaar bestand dat momentopnamebestanden voorbereidt met schema en gegevens van gepubliceerde tabellen en databaseobjecten, de bestanden opslaat in de map momentopname en synchronisatietaken registreert in de distributiedatabase.
Opmerking
- Parameters kunnen in elke volgorde worden opgegeven.
Opmerking
Azure SQL Managed Instance kan een uitgever, distributeur en abonnee zijn voor momentopname en transactionele replicatie. Databases in Azure SQL Database kunnen alleen pushabonnees zijn voor momentopname en transactionele replicatie. Zie Transactionele replicatie met Azure SQL Database en Azure SQL Managed Instancevoor meer informatie.
Syntaxis
snapshot [ -?]
-Publisher server_name[\instance_name]
-Publication publication_name
[-70Subscribers]
[-BcpBatchSize bcp_batch_size]
[-DefinitionFile def_path_and_file_name]
[-Distributor server_name[\instance_name]]
[-DistributorDeadlockPriority [-1|0|1] ]
[-DistributorLogin distributor_login]
[-DistributorPassword distributor_password]
[-DistributorSecurityMode [0|1] ]
[-DynamicFilterHostName dynamic_filter_host_name]
[-DynamicFilterLogin dynamic_filter_login]
[-DynamicSnapshotLocation dynamic_snapshot_location]
[-EncryptionLevel [0|1|2|3|4]]
[-FieldDelimiter field_delimiter]
[-HistoryVerboseLevel [0|1|2|3] ]
[-HRBcpBlocks number_of_blocks ]
[-HRBcpBlockSize block_size ]
[-HRBcpDynamicBlocks ]
[-KeepAliveMessageInterval keep_alive_interval]
[-LoginTimeOut login_time_out_seconds]
[-MaxBcpThreads number_of_threads ]
[-MaxNetworkOptimization [0|1]]
[-Output output_path_and_file_name]
[-OutputVerboseLevel [0|1|2] ]
[-PacketSize packet_size]
[-PrefetchTables [0|1] ]
[-ProfileName profile_name]
[-PublisherDB publisher_database]
[-PublisherDeadlockPriority [-1|0|1] ]
[-PublisherFailoverPartner server_name[\instance_name] ]
[-PublisherLogin publisher_login]
[-PublisherPassword publisher_password]
[-PublisherSecurityMode [0|1] ]
[-QueryTimeOut query_time_out_seconds]
[-ReplicationType [1|2] ]
[-RowDelimiter row_delimiter]
[-StartQueueTimeout start_queue_timeout_seconds]
[-UsePerArticleContentsView use_per_article_contents_view]
Argumenten
-?
Hiermee worden alle beschikbare parameters afgedrukt.
-Publisherserver_name[\instance_name]
Is de naam van de uitgever. Geef server_name op voor het standaardexemplaren van Microsoft SQL Server op die server. Geef server_name instance_name\ op voor een benoemd exemplaar van SQL Server op die server.
-Publicatie
Is de naam van de publicatie. Deze parameter is alleen geldig als de publicatie is ingesteld op altijd een momentopname beschikbaar voor nieuwe of opnieuw geïnitialiseerde abonnementen.
-70Subscribers
Moet worden gebruikt als abonnees SQL Server versie 7.0 uitvoeren.
-BcpBatchSize bcp_ batch_size
Is het aantal rijen dat moet worden verzonden in een bulksgewijze kopieerbewerking. Wanneer u een bcp in bewerking uitvoert, is de batchgrootte het aantal rijen dat als één transactie naar de server moet worden verzonden en ook het aantal rijen dat moet worden verzonden voordat de distributieagent een bcp-voortgangsbericht registreert. Bij het uitvoeren van een bcp-outbewerking wordt een vaste batchgrootte van 1000 gebruikt. Een waarde van 0 geeft aan dat er geen logboekregistratie van berichten is.
-DefinitionFile-def_path_and_file_name
Is het pad van het definitiebestand van de agent. Een agentdefinitiebestand bevat opdrachtregelargumenten voor de agent. De inhoud van het bestand wordt geparseerd als een uitvoerbaar bestand. Gebruik dubbele aanhalingstekens (") om argumentwaarden met willekeurige tekens op te geven.
-Distributorserver_name[\instance_name]
Is de naam van de distributeur. Geef server_name op voor het standaardexemplaren van SQL Server op die server. Geef server_name instance_name\ op voor een benoemd exemplaar van SQL Server op die server.
-DistributorDeadlockPriority [-1|0|1]
Is de prioriteit van de momentopnameagentverbinding met de distributeur wanneer er een impasse optreedt. Deze parameter wordt opgegeven om impasses op te lossen die kunnen optreden tussen de momentopnameagent en gebruikerstoepassingen tijdens het genereren van momentopnamen.
| DistributorDeadlockPriority-waarde | Beschrijving |
|---|---|
| -1 | Andere toepassingen dan de Momentopnameagent hebben prioriteit wanneer er een impasse optreedt bij de Distributeur. |
| 0 (standaard) | Prioriteit is niet toegewezen. |
| 1 | Momentopnameagent heeft prioriteit wanneer er een impasse optreedt bij de Distributeur. |
-DistributorLogindistributor_login
Wordt de aanmelding gebruikt bij het maken van verbinding met de distributeur met behulp van SQL Server-verificatie.
-DistributorPassworddistributor_password
Wordt het wachtwoord gebruikt bij het maken van verbinding met de distributeur met behulp van SQL Server-verificatie.
-DistributorSecurityMode [ 0| 1]
Hiermee geeft u de beveiligingsmodus van de distributeur. Een waarde van 0 geeft de SQL Server-verificatiemodus (standaard) aan en een waarde van 1 geeft de Windows-verificatiemodus aan.
-DynamicFilterHostName-dynamic_filter_host_name
Wordt gebruikt om een waarde in te stellen voor HOST_NAME (Transact-SQL) bij het filteren wanneer er een dynamische momentopname wordt gemaakt. Als de subsetfiltercomponent rep_id = HOST_NAME() bijvoorbeeld is opgegeven voor een artikel en u de eigenschap DynamicFilterHostName instelt op FBJones voordat u de samenvoegagent aanroept, worden alleen rijen met FBJones in de kolom rep_id gerepliceerd.
-DynamicFilterLogin-dynamic_filter_login
Wordt gebruikt om een waarde in te stellen voor SUSER_SNAME (Transact-SQL) bij het filteren wanneer een dynamische momentopname wordt gemaakt. Als de subsetfiltercomponent user_id = SUSER_SNAME() bijvoorbeeld is opgegeven voor een artikel en u de eigenschap DynamicFilterLogin instelt op 'rsmith' voordat u de run-methode van het SQLSnapshot-object aanroept, worden alleen rijen met 'rsmith' in de user_id kolom opgenomen in de momentopname.
-DynamicSnapshotLocationdynamic_snapshot_location
Is de locatie waar de dynamische momentopname moet worden gegenereerd.
-EncryptionLevel [ 0 | 1 | 2 | 3 | 4]
Is het niveau van Transport Layer Security (TLS), voorheen bekend als SSL (Secure Sockets Layer), versleuteling die door de momentopnameagent wordt gebruikt bij het maken van verbindingen.
| EncryptionLevel-waarde | Beschrijving |
|---|---|
0 |
Hiermee geeft u op dat TLS niet wordt gebruikt. |
1 |
Hiermee geeft u op dat TLS 1.2 wordt gebruikt, maar de agent controleert niet of het TLS/SSL-servercertificaat is ondertekend door een vertrouwde verlener. |
2 |
Hiermee geeft u op dat TLS 1.2 wordt gebruikt en dat het certificaat is geverifieerd. |
3 |
Hiermee geeft u op dat voor verbindingen van Azure SQL Managed Instance of SQL Server 2025 en latere versies naar Azure SQL Managed Instance TLS 1.3 wordt gebruikt en het certificaat wordt geverifieerd. Voor verbindingen met SQL Server (elke ondersteunde versie) wordt TLS 1.3 niet afgedwongen met de optie 3. |
4 |
Hiermee geeft u op dat voor verbindingen van Azure SQL Managed Instance of SQL Server 2025 en latere versies naar Azure SQL Managed Instance TLS 1.3 wordt gebruikt en het certificaat wordt geverifieerd. Voor verbindingen van Azure SQL Managed Instance of SQL Server 2025 en latere versies naar SQL Server (elke ondersteunde versie), wordt TLS 1.3 gebruikt en wordt het certificaat geverifieerd. Vereist het installeren van het certificaat op SQL Server-hosts die verbindingen ontvangen met EncryptionLevel ingesteld op 4. |
Er wordt een geldig TLS/SSL-certificaat gedefinieerd met een volledig gekwalificeerde domeinnaam van de SQL Server. Om ervoor te zorgen dat de agent verbinding kan maken bij het instellen van -EncryptionLevel op 2, maakt u een alias op de lokale SQL Server. De parameter Alias name moet de servernaam zijn en de parameter Server moet worden ingesteld op de volledig gekwalificeerde naam van de SQL Server.
Zie Beveiligingsinstellingen voor replicatie weergeven en wijzigen voor meer informatie.
-FieldDelimiter-field_delimiter
Is het teken of de tekenreeks die het einde van een veld in het SQL Server-gegevensbestand voor bulksgewijs kopiëren markeert. De standaardwaarde is \n<x$3>\n.
-HistoryVerboseLevel [ 1| 2| 3]
Hiermee geeft u de hoeveelheid geschiedenis die is geregistreerd tijdens een momentopnamebewerking. U kunt het effect van geschiedenislogboekregistratie op prestaties minimaliseren door 1 te selecteren.
| HistoryVerboseLevel-waarde | Beschrijving |
|---|---|
| 0 | Voortgangsberichten worden naar de console of naar een uitvoerbestand geschreven. Geschiedenisrecords worden niet vastgelegd in de distributiedatabase. |
| 1 | Werk altijd een vorige geschiedenisbericht van dezelfde status bij (opstarten, voortgang, succes, enzovoort). Als er geen vorige record met dezelfde status bestaat, voegt u een nieuwe record in. |
| 2 (standaard) | Voeg nieuwe geschiedenisrecords in, tenzij de record bedoeld is voor bijvoorbeeld niet-actieve berichten of langlopende taakberichten. In dat geval worden de vorige records bijgewerkt. |
| 3 | Voeg altijd nieuwe records in, tenzij dit geldt voor niet-actieve berichten. |
-HRBcpBlocksnumber_of_blocks
Is het aantal bcp-gegevensblokken dat in de wachtrij wordt geplaatst tussen de threads van de schrijver en de lezer. De standaardwaarde is 50.
HRBcpBlocks wordt alleen gebruikt met Oracle-publicaties.
Opmerking
Deze parameter wordt gebruikt voor het afstemmen van de prestaties van bcp-prestaties van een Oracle Publisher.
-
HRBcpBlockSize-block_size
Is de grootte, in kilobytes (KB), van elk bcp-gegevensblok . De standaardwaarde is 64 kB.
HRBcpBlocks wordt alleen gebruikt met Oracle-publicaties.
Opmerking
Deze parameter wordt gebruikt voor het afstemmen van de prestaties van bcp-prestaties van een Oracle Publisher.
-HRBcpDynamicBlocks
Is of de grootte van elk bcp-gegevensblok dynamisch kan groeien.
HRBcpBlocks wordt alleen gebruikt met Oracle-publicaties.
Opmerking
Deze parameter wordt gebruikt voor het afstemmen van de prestaties van bcp-prestaties van een Oracle Publisher.
-KeepAliveMessageIntervalkeep_alive_interval
Is de hoeveelheid tijd in seconden die de momentopnameagent wacht voordat de logboekregistratie 'wachten op back-endbericht' naar de MSsnapshot_history tabel. De standaardwaarde is 300 seconden.
-LoginTimeOut-login_time_out_seconds
Is het aantal seconden voordat er een time-out optreedt voor de aanmelding. De standaardwaarde is 15 seconden.
-MaxBcpThreadsnumber_of_threads
Hiermee geeft u het aantal bulkkopiebewerkingen op dat parallel kan worden uitgevoerd. Het maximum aantal threads en ODBC-verbindingen dat tegelijkertijd bestaat, is het kleinere aantal MaxBcpThreads of het aantal bulksgewijs kopiëren aanvragen dat wordt weergegeven in de synchronisatietransactie in de distributiedatabase.
MaxBcpThreads moet een waarde hebben die groter is dan 0 en geen in code vastgelegde bovengrens heeft. De standaardwaarde is twee keer het aantal processors.
Opmerking
Als het gerepliceerde object een filter heeft, genereert de momentopnameagent slechts één BCP-bestand voor dat artikel in plaats van meerdere BCP-bestanden te genereren.
-
MaxNetworkOptimization [ 0| 1]
Is als irrelevante verwijderingen naar de abonnee worden verzonden. Irrelevante verwijderingen zijn DELETE-opdrachten die naar abonnees worden verzonden voor rijen die niet tot de partitie van de abonnee behoren. Irrelevante verwijderingen hebben geen invloed op gegevensintegriteit of convergentie, maar kunnen leiden tot onnodig netwerkverkeer. De standaardwaarde van MaxNetworkOptimization is 0.
MaxNetworkOptimization instellen op 1 om de kans op irrelevante verwijderingen te minimaliseren, waardoor netwerkverkeer wordt verminderd en netwerkoptimalisatie wordt gemaximaliseerd. Als u deze parameter instelt op 1 , kan ook de opslag van metagegevens worden verhoogd en de prestaties bij Publisher afnemen als er meerdere joinfilters en complexe subsetfilters aanwezig zijn. U moet uw replicatietopologie zorgvuldig beoordelen en MaxNetworkOptimization alleen instellen op 1 als netwerkverkeer van irrelevante verwijderingen onaanvaardbaar hoog is.
Opmerking
Deze parameter instellen op 1 is alleen nuttig wanneer de synchronisatieoptimalisatieoptie van de samenvoegpublicatie is ingesteld op true (de @keep_partition_changes** parameter van sp_addmergepublication (Transact-SQL)).
-Uitvoeroutput_path_and_file_name
Is het pad van het uitvoerbestand van de agent. Als de bestandsnaam niet is opgegeven, wordt de uitvoer verzonden naar de console. Als de opgegeven bestandsnaam bestaat, wordt de uitvoer toegevoegd aan het bestand.
-OutputVerboseLevel [ 0| 1| 2]
Hiermee geeft u op of de uitvoer uitgebreid moet zijn.
| OutputVerboseLevel-waarde | Beschrijving |
|---|---|
| 0 | Alleen foutberichten worden afgedrukt. |
| 1 (standaard) | Alle berichten van het voortgangsrapport worden afgedrukt (standaard). |
| 2 | Alle foutberichten en voortgangsrapportberichten worden afgedrukt, wat handig is voor foutopsporing. |
-PacketSizepacket_size
Is de pakketgrootte (in bytes) die door de momentopnameagent wordt gebruikt bij het maken van verbinding met SQL Server. De standaardwaarde is 8192 bytes.
Opmerking
Wijzig de pakketgrootte alleen als u er zeker van bent dat de prestaties worden verbeterd. Voor de meeste toepassingen is de standaardpakketgrootte het beste.
-PrefetchTables [ 0| 1]
Optionele parameter die aangeeft of de tabelobjecten vooraf worden opgehaald en in de cache worden opgeslagen. Het standaardgedrag is om bepaalde tabeleigenschappen vooraf te maken met behulp van een SMO-onderdeel op basis van een interne berekening. Deze parameter kan nuttig zijn in scenario's waarbij de SMO-prefetchbewerking veel langer duurt om uit te voeren. Als deze parameter niet wordt gebruikt, wordt deze beslissing tijdens runtime genomen op basis van het percentage tabellen dat als artikelen aan de publicatie wordt toegevoegd.
| OutputVerboseLevel-waarde | Beschrijving |
|---|---|
| 0 | De aanroep naar de Prefetch-methode van het SMO-onderdeel is uitgeschakeld. |
| 1 | Snapshot Agent roept prefetch-methode aan om bepaalde tabeleigenschappen op te cachen met behulp van SMO |
-ProfileNameprofile_name
Hiermee geeft u een agentprofiel op dat moet worden gebruikt voor agentparameters. Als ProfileName NULL is, wordt het agentprofiel uitgeschakeld. Als ProfileName niet is opgegeven, wordt het standaardprofiel voor het agenttype gebruikt. Zie Replicatieagentprofielen voor meer informatie.
-PublisherDB-publisher_database
Is de naam van de publicatiedatabase.
Deze parameter wordt niet ondersteund voor Oracle Publishers.
-PublisherDeadlockPriority [-1|0|1]
Is de prioriteit van de verbinding van de momentopnameagent met publisher wanneer er een impasse optreedt. Deze parameter wordt opgegeven om impasses op te lossen die kunnen optreden tussen de momentopnameagent en gebruikerstoepassingen tijdens het genereren van momentopnamen.
| PublisherDeadlockPriority-waarde | Beschrijving |
|---|---|
| -1 | Toepassingen anders dan de momentopnameagent hebben prioriteit wanneer er een impasse optreedt in Publisher. |
| 0 (standaard) | Prioriteit is niet toegewezen. |
| 1 | Momentopnameagent heeft prioriteit wanneer er een impasse optreedt bij Publisher. |
-PublisherFailoverPartnerserver_name[\instance_name]
Hiermee geeft u het exemplaar van de failoverpartner van SQL Server dat deelneemt aan een databasespiegelingssessie met de publicatiedatabase. Zie databasespiegeling en replicatie (SQL Server) voor meer informatie.
-PublisherLogin-publisher_login
Wordt de aanmelding gebruikt bij het maken van verbinding met Publisher met behulp van SQL Server-verificatie.
-PublisherPassword-publisher_password
Wordt het wachtwoord gebruikt bij het maken van verbinding met Publisher met behulp van SQL Server-verificatie.
-PublisherSecurityMode [ 0| 1]
Hiermee geeft u de beveiligingsmodus van publisher. Een waarde van 0 geeft SQL Server-verificatie (standaard) aan en een waarde van 1 geeft de Modus Windows-verificatie aan.
-QueryTimeOut-query_time_out_seconds
Is het aantal seconden voordat er een time-out optreedt voor de query. De standaardwaarde is 1800 seconden.
-ReplicationType [ 1| 2]
Hiermee geeft u het type replicatie op. Een waarde van 1 geeft transactionele replicatie aan en een waarde van 2 geeft samenvoegreplicatie aan.
-RowDelimiterrow_delimiter
Is het teken of de tekenreeks die het einde van een rij in het SQL Server-gegevensbestand voor bulksgewijs kopiëren markeert. De standaardwaarde is \n<,@g>\n.
-StartQueueTimeoutstart_queue_timeout_seconds
Is het maximum aantal seconden dat de momentopnameagent wacht wanneer het aantal gelijktijdige dynamische momentopnameprocessen dat wordt uitgevoerd, de limiet overschrijdt die is ingesteld door de @max_concurrent_dynamic_snapshots eigenschap van sp_addmergepublication (Transact-SQL). Als het maximum aantal seconden is bereikt en de momentopnameagent nog steeds wacht, wordt deze afgesloten. Een waarde van 0 betekent dat de agent voor onbepaalde tijd wacht, hoewel deze kan worden geannuleerd.
-
UsePerArticleContentsViewuse_per_article_contents_view
Deze parameter is afgeschaft en wordt alleen ondersteund voor achterwaartse compatibiliteit.
Opmerkingen
Belangrijk
Als u SQL Server Agent hebt geïnstalleerd om te worden uitgevoerd onder een lokaal systeemaccount in plaats van onder een domeingebruikersaccount (de standaardinstelling), heeft de service alleen toegang tot de lokale computer. Als de momentopnameagent die wordt uitgevoerd onder SQL Server Agent is geconfigureerd voor het gebruik van de Windows-verificatiemodus wanneer deze zich aanmeldt bij SQL Server, mislukt de momentopnameagent. De standaardinstelling is SQL Server-verificatie.
Als u de momentopnameagent wilt starten, voert u snapshot.exe uit vanaf de opdrachtprompt. Zie Uitvoerbare bestanden van de replicatieagent voor meer informatie.