Dela via


Replikeringsögonblicksagent

gäller för:SQL ServerAzure SQL Database

Replication Snapshot Agent är en körbar fil som förbereder ögonblicksbildfiler som innehåller schema och data för publicerade tabeller och databasobjekt, lagrar filerna i mappen ögonblicksbild och registrerar synkroniseringsjobb i distributionsdatabasen.

Anmärkning

  • Parametrar kan anges i valfri ordning.

Anmärkning

Azure SQL Managed Instance kan vara utgivare, distributör och prenumerant för replikering av ögonblicksbilder och transaktioner. Databaser i Azure SQL Database kan bara skicka prenumeranter för ögonblicksbilder och transaktionsreplikering. Mer information finns i Transaktionsreplikering med Azure SQL Database och Azure SQL Managed Instance.

Syntax

  
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]  

Argumentpunkter

-?
Skriver ut alla tillgängliga parametrar.

-Publisherserver_name[\instance_name]
Är namnet på utgivaren. Ange server_name för standardinstansen av Microsoft SQL Server på servern. Ange server_name\instance_name för en namngiven instans av SQL Server på servern.

-Publikation
Är namnet på publikationen. Den här parametern är endast giltig om publikationen är inställd på att alltid ha en ögonblicksbild tillgänglig för nya eller ominitierade prenumerationer.

-70Prenumererare
Måste användas om några prenumeranter kör SQL Server version 7.0.

-BcpBatchSizebcp_ batch_ size
Är antalet rader som ska skickas i en masskopieringsåtgärd. När du utför en bcp i drift är batchstorleken antalet rader som ska skickas till servern som en transaktion, och även antalet rader som måste skickas innan distributionsagenten loggar ett bcp-förloppsmeddelande. När du utför en bcp out-åtgärd används en fast batchstorlek på 1 000. Värdet 0 anger ingen meddelandeloggning.

-DefinitionFiledef_path_and_file_name
Är sökvägen till agentdefinitionsfilen. En agentdefinitionsfil innehåller kommandoradsargument för agenten. Innehållet i filen tolkas som en körbar fil. Använd dubbla citattecken (") för att ange argumentvärden som innehåller godtyckliga tecken.

-Distributörserver_name[\instance_name]
Är distributörens namn. Ange server_name för standardinstansen av SQL Server på servern. Ange server_name\instance_name för en namngiven instans av SQL Server på servern.

-DistributorDeadlockPriority [-1|0|1]
Är prioriteten för ögonblicksbildsagentanslutningen till distributören när ett dödläge inträffar. Den här parametern anges för att lösa dödlägen som kan uppstå mellan ögonblicksbildsagenten och användarprogram under genereringen av ögonblicksbilder.

DistributorDeadlockPriority-värde Beskrivning
-1 Andra program än Snapshot Agent har prioritet när ett dödläge inträffar hos distributören.
0 (standard) Prioritet har inte tilldelats.
1 Snapshot Agent har prioritet när ett dödläge inträffar hos distributören.

-DistributorLogindistributor_login
Används inloggningen när du ansluter till distributören med SQL Server-autentisering.

-DistributorPassworddistributor_password
Används lösenordet när du ansluter till distributören med SQL Server-autentisering.

-DistributorSecurityMode [ 0| 1]
Anger distributörens säkerhetsläge. Värdet 0 anger SQL Server-autentiseringsläge (standard) och värdet 1 anger Windows-autentiseringsläge.

-DynamicFilterHostNamedynamic_filter_host_name
Används för att ange ett värde för HOST_NAME (Transact-SQL) i filtreringen när en dynamisk ögonblicksbild skapas. Om du till exempel anger underuppsättningsfiltersatsen rep_id = HOST_NAME() för en artikel och du anger egenskapen DynamicFilterHostName till "FBJones" innan du anropar sammanslagningsagenten replikeras endast rader med "FBJones" i kolumnen rep_id .

-DynamicFilterLogindynamic_filter_login
Används för att ange ett värde för SUSER_SNAME (Transact-SQL) i filtreringen när en dynamisk ögonblicksbild skapas. Om du till exempel anger underuppsättningsfiltersatsen user_id = SUSER_SNAME() för en artikel och du anger egenskapen DynamicFilterLogin till "rsmith" innan du anropar metoden Kör för SQLSnapshot-objektet , inkluderas endast rader med "rsmith" i kolumnen user_id i ögonblicksbilden.

-DynamicSnapshotLocationdynamic_snapshot_location
Är platsen där den dynamiska ögonblicksbilden ska genereras.

-EncryptionLevel [ 0 | 1 | 2 | 3 | 4]
Är nivån för TLS (Transport Layer Security), som tidigare kallades Secure Sockets Layer (SSL), kryptering som används av Ögonblicksbildsagenten vid anslutning.

EncryptionLevel-värde Beskrivning
0 Anger att TLS inte används.
1 Anger att TLS 1.2 används, men agenten verifierar inte att TLS/SSL-servercertifikatet har signerats av en betrodd utfärdare.
2 Anger att TLS 1.2 används och att certifikatet har verifierats.
3 Anger att för anslutningar från Azure SQL Managed Instance eller SQL Server 2025 och senare versioner till Azure SQL Managed Instance används TLS 1.3 och certifikatet verifieras. För anslutningar till SQL Server (valfri version som stöds) tillämpas inte TLS 1.3 med alternativet 3.
4 Anger att för anslutningar från Azure SQL Managed Instance eller SQL Server 2025 och senare versioner till Azure SQL Managed Instance används TLS 1.3 och certifikatet verifieras. För anslutningar från Azure SQL Managed Instance eller SQL Server 2025 och senare versioner, till SQL Server (valfri version som stöds), används TLS 1.3 och certifikatet verifieras. Kräver att certifikatet installeras på SQL Server-värdar som tar emot anslutningar med EncryptionLevel inställt på 4.

Ett giltigt TLS/SSL-certifikat definieras med ett fullständigt kvalificerat domännamn för SQL Server. För att agenten ska kunna ansluta när -EncryptionLevel anges till 2 skapar du ett alias på den lokala SQL Server. Parametern Aliasnamn ska vara servernamnet och parametern "Server" ska anges till det fullständigt kvalificerade namnet på SQL Server.

Mer information finns i Visa och ändra säkerhetsinställningar för replikering.

-FieldDelimiterfield_delimiter
Är tecknet eller teckensekvensen som markerar slutet på ett fält i SQL Server-masskopieringsdatafilen. Standardvärdet är \n<x$3>\n.

-HistoryVerboseLevel [ 1| 2| 3]
Anger hur mycket historik som loggades under en åtgärd för ögonblicksbilder. Du kan minimera effekten av historikloggning på prestanda genom att välja 1.

HistoryVerboseLevel-värde Beskrivning
0 Förloppsmeddelanden skrivs antingen till konsolen eller till en utdatafil. Historikposter loggas inte i distributionsdatabasen.
1 Uppdatera alltid ett tidigare historikmeddelande med samma status (start, förlopp, framgång och så vidare). Om det inte finns någon tidigare post med samma status infogar du en ny post.
2 (standard) Infoga nya historikposter om inte posten är till för t.ex. inaktiva meddelanden eller långvariga jobbmeddelanden, i vilket fall uppdatera de tidigare posterna.
3 Infoga alltid nya poster, såvida det inte är för inaktiva meddelanden.

-HRBcpBlocksnumber_of_blocks
Är antalet bcp-datablock som placeras i kö mellan skriv- och läsartrådarna. Standardvärdet är 50. HRBcpBlocks används endast med Oracle-publikationer.

Anmärkning

Den här parametern används för prestandajustering av bcp-prestanda från en Oracle Publisher.

- HRBcpBlockSizeblock_size
Är storleken i kilobyte (KB) för varje bcp-datablock . Standardvärdet är 64 KB. HRBcpBlocks används endast med Oracle-publikationer.

Anmärkning

Den här parametern används för prestandajustering av bcp-prestanda från en Oracle Publisher.

-HRBcpDynamicBlocks
Är om storleken på varje bcp-datablock kan växa dynamiskt eller inte. HRBcpBlocks används endast med Oracle-publikationer.

Anmärkning

Den här parametern används för prestandajustering av bcp-prestanda från en Oracle Publisher.

-KeepAliveMessageIntervalkeep_alive_interval
Är den tid i sekunder som ögonblicksbildsagenten väntar innan du loggar "väntar på serverdelsmeddelande" i tabellen MSsnapshot_history . Standardvärdet är 300 sekunder.

-LoginTimeOutlogin_time_out_seconds
Är antalet sekunder innan inloggningen överskrider tidsgränsen. Standardvärdet är 15 sekunder.

-MaxBcpThreadsnumber_of_threads
Anger antalet masskopieringsåtgärder som kan utföras parallellt. Det maximala antalet trådar och ODBC-anslutningar som finns samtidigt är mindre av MaxBcpThreads eller antalet masskopieringsbegäranden som visas i synkroniseringstransaktionen i distributionsdatabasen. MaxBcpThreads måste ha ett värde som är större än 0 och har ingen hårdkodad övre gräns. Standardvärdet är dubbelt så många processorer.

Anmärkning

Om det replikerade objektet har ett filter genererar Snapshot-agenten bara en BCP-fil för den artikeln i stället för att generera flera BCP-filer.

- MaxNetworkOptimization [ 0| 1]
Är om irrelevanta borttagningar skickas till prenumeranten. Irrelevanta borttagningar är DELETE-kommandon som skickas till Prenumeranter för rader som inte tillhör prenumerantens partition. Irrelevanta borttagningar påverkar inte dataintegriteten eller konvergensen, men de kan leda till onödig nätverkstrafik. Standardvärdet för MaxNetworkOptimization är 0. Ange MaxNetworkOptimization till 1 vilket minimerar risken för irrelevanta borttagningar, vilket minskar nätverkstrafiken och maximerar nätverksoptimeringen. Om du anger den här parametern till 1 kan du också öka lagringen av metadata och få prestandan att försämras i Publisher om det finns flera nivåer av kopplingsfilter och komplexa delmängdsfilter. Du bör noggrant utvärdera replikeringstopologin och ange MaxNetworkOptimization till 1 endast om nätverkstrafiken från irrelevanta borttagningar är oacceptabelt hög.

Anmärkning

Att ange den här parametern till 1 är bara användbart när synkroniseringsoptimeringsalternativet för sammanslagningspublikationen är inställt på true (parametern @keep_partition_changes**för sp_addmergepublication (Transact-SQL)).

-Utdataoutput_path_and_file_name
Är sökvägen till agentens utdatafil. Om filnamnet inte anges skickas utdata till konsolen. Om det angivna filnamnet finns läggs utdata till i filen.

-OutputVerboseLevel [ 0| 1| 2]
Anger om utdata ska vara utförliga.

OutputVerboseLevel-värde Beskrivning
0 Endast felmeddelanden skrivs ut.
1 (standard) Alla förloppsrapportmeddelanden skrivs ut (standard).
2 Alla felmeddelanden och förloppsrapportmeddelanden skrivs ut, vilket är användbart för felsökning.

-PacketSizepacket_size
Används paketstorleken (i byte) av Ögonblicksbildsagenten vid anslutning till SQL Server. Standardvärdet är 8 192 byte.

Anmärkning

Ändra inte paketstorleken om du inte är säker på att det förbättrar prestandan. För de flesta program är standardpaketstorleken bäst.

-PrefetchTables [ 0| 1]
Valfri parameter som anger om tabellobjekten ska förinstalleras och cachelagras. Standardbeteendet är att förinstallera vissa tabellegenskaper med hjälp av SMO-komponenten baserat på en intern beräkning. Den här parametern kan vara användbar i scenarier där SMO prefetch-åtgärden tar längre tid att köra. Om den här parametern inte används fattas det här beslutet vid körning baserat på procentandelen tabeller som läggs till som artiklar i publikationen.

OutputVerboseLevel-värde Beskrivning
0 Anrop till Prefetch-metoden för SMO-komponenten är inaktiverad.
1 Snapshot Agent anropar Prefetch-metoden för att cachelagrat vissa tabellegenskaper med hjälp av SMO

-ProfileNameprofile_name
Anger en agentprofil som ska användas för agentparametrar. Om ProfileName är NULL inaktiveras agentprofilen. Om ProfileName inte har angetts används standardprofilen för agenttypen. Mer information finns i Replikeringsagentprofiler.

-PublisherDBpublisher_database
Är namnet på publikationsdatabasen. Den här parametern stöds inte för Oracle Publishers.

-PublisherDeadlockPriority [-1|0|1]
Är prioriteten för ögonblicksbildsagentanslutningen till Publisher när ett dödläge inträffar. Den här parametern anges för att lösa dödlägen som kan uppstå mellan ögonblicksbildsagenten och användarprogram under genereringen av ögonblicksbilder.

PublisherDeadlockPriority-värde Beskrivning
-1 Andra program än Ögonblicksbildsagenten har prioritet när ett dödläge inträffar i Publisher.
0 (standard) Prioritet har inte tilldelats.
1 Ögonblicksbildsagenten har prioritet när ett dödläge inträffar i Publisher.

-PublisherFailoverPartnerserver_name[\instance_name]
Anger den redundanspartnerinstans av SQL Server som deltar i en databasspeglingssession med publikationsdatabasen. Mer information finns i Databasspegling och replikering (SQL Server).

-PublisherLoginpublisher_login
Används inloggningen när du ansluter till utgivaren med SQL Server-autentisering.

-PublisherPasswordpublisher_password
Används lösenordet när du ansluter till utgivaren med SQL Server-autentisering.

-PublisherSecurityMode [ 0| 1]
Anger säkerhetsläget för Utgivaren. Värdet 0 anger SQL Server-autentisering (standard) och värdet 1 anger Windows-autentiseringsläge.

-QueryTimeOutquery_time_out_seconds
Är antalet sekunder innan frågan överskrider tidsgränsen. Standardvärdet är 1 800 sekunder.

-ReplicationType [ 1| 2]
Anger typen av replikering. Värdet 1 anger transaktionsreplikering och värdet 2 anger sammanslagningsreplikering.

-RowDelimiterrow_delimiter
Är tecknet eller teckensekvensen som markerar slutet på en rad i SQL Server-masskopieringsdatafilen. Standardvärdet är \n<,@g>\n.

-StartQueueTimeoutstart_queue_timeout_seconds
Är det maximala antalet sekunder som ögonblicksbildsagenten väntar när antalet samtidiga dynamiska ögonblicksbildsprocesser som körs ligger på den @max_concurrent_dynamic_snapshots gräns som anges av egenskapen för sp_addmergepublication (Transact-SQL). Om det maximala antalet sekunder nås och ögonblicksbildsagenten fortfarande väntar avslutas den. Värdet 0 innebär att agenten väntar på obestämd tid, även om den kan avbrytas.

- UsePerArticleContentsViewuse_per_article_contents_view
Den här parametern är inaktuell och stöds endast för bakåtkompatibilitet.

Anmärkningar

Viktigt!

Om du har installerat SQL Server Agent för att köras under ett lokalt systemkonto i stället för under ett domänanvändarkonto (standard) kan tjänsten endast komma åt den lokala datorn. Om ögonblicksbildsagenten som körs under SQL Server-agenten är konfigurerad för att använda Windows-autentiseringsläge när den loggar in på SQL Server misslyckas ögonblicksbildsagenten. Standardinställningen är SQL Server-autentisering.

Starta Ögonblicksbildsagenten genom att körasnapshot.exe från kommandotolken. Mer information finns i Körbara replikeringsagenter.