Sdílet prostřednictvím


Agent snímků replikace

platí pro:SQL Serverazure SQL Database

Agent snímku replikace je spustitelný soubor, který připravuje soubory snímků obsahující schéma a data publikovaných tabulek a databázových objektů, ukládá soubory do složky snímků a zaznamenává úlohy synchronizace v distribuční databázi.

Poznámka:

  • Parametry lze zadat v libovolném pořadí.

Poznámka:

Spravovaná instance Azure SQL může být vydavatelem, distributorem a předplatitelem pro snímkovou a transakční replikaci. Databáze ve službě Azure SQL Database můžou být nabízeny pouze předplatitelům pro snímkovou a transakční replikaci. Další informace najdete v tématu Transakční replikace se službou Azure SQL Database a službou Azure SQL Managed Instance.

Syntaxe

  
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]  

Argumenty

-?
Vytiskne všechny dostupné parametry.

-Vydavatelserver_name[\instance_name]
Je název vydavatele. Zadejte server_name pro výchozí instanci Microsoft SQL Serveru na tomto serveru. Zadejte server_name instance_name\ pro pojmenovanou instanci SQL Serveru na tomto serveru.

-Publikace publikace
Je název publikace. Tento parametr je platný pouze v případě, že je publikace nastavená tak, aby vždy měla k dispozici snímek pro nová nebo znovu inicializovaná předplatná.

-70Subscribers
Musí se použít, pokud některé odběratele používají SQL Server verze 7.0.

-BcpBatchSize bcp_ batch_ size
Je počet řádků, které se mají odeslat v operaci hromadného kopírování. Při provádění operace bcp je velikost dávky počet řádků, které se mají odeslat na server jako jedna transakce, a také počet řádků, které musí být odeslány před tím, než distribuční agent zaznamená zprávu o průběhu bcp . Při provádění operace bcp out se použije pevná velikost dávky 1000. Hodnota 0 značí, že se žádná zpráva nehlásí.

-DefinitionFiledef_path_and_file_name
Je cesta k definičnímu souboru agenta. Definiční soubor agenta obsahuje argumenty příkazového řádku pro agenta. Obsah souboru se analyzuje jako spustitelný soubor. K zadání hodnot argumentů obsahujících libovolné znaky použijte dvojité uvozovky (").

-Distributorserver_name[\instance_name]
Je název distributora. Zadejte server_name pro výchozí instanci SQL Serveru na tomto serveru. Zadejte server_name instance_name\ pro pojmenovanou instanci SQL Serveru na tomto serveru.

-Priorita DistributorDeadlockPriority [-1|0|1]
Je prioritou připojení snapshot agenta k distributoru, když dojde k zablokování. Tento parametr je určen k vyřešení zablokování, ke kterým může dojít mezi agentem snímků a uživatelskými aplikacemi během generování snímků.

Hodnota DistributorDeadlockPriority Popis
-1 Aplikace jiné než Snapshot Agent mají prioritu, pokud dojde k vzájemnému zablokování u distributora.
0 (výchozí) Priorita není přiřazena.
1 Agent snímků má prioritu, když u distributora dojde k vzájemnému zablokování.

-DistributorLogindistributor_login
Používá se při připojování k distributoru pomocí ověřování SQL Serveru přihlášení.

-DistributorPassworddistributor_password
Je heslo, které se používá při připojování k distributoru pomocí ověřování SQL Serveru.

-DistributorSecurityMode [ 0| 1]
Určuje režim zabezpečení distributora. Hodnota 0 označuje režim ověřování SQL Serveru (výchozí) a hodnota 1 označuje režim ověřování systému Windows.

-DynamicFilterHostNamedynamic_filter_host_name
Slouží k nastavení hodnoty pro HOST_NAME (Transact-SQL) při filtrování při vytváření dynamického snímku. Pokud je například klauzule filtru podmnožiny rep_id = HOST_NAME() zadaná pro článek a nastavíte vlastnost DynamicFilterHostName na "FBJones" před voláním agenta sloučení, budou replikovány pouze řádky s "FBJones" ve sloupci rep_id .

-DynamicFilterLogindynamic_filter_login
Slouží k nastavení hodnoty pro SUSER_SNAME (Transact-SQL) při filtrování při vytváření dynamického snímku. Pokud je například klauzule filtru podmnožiny user_id = SUSER_SNAME() určena pro článek a nastavíte DynamicFilterLogin vlastnost "rsmith" před voláním metody Run objektu SQLSnapshot , budou do snímku zahrnuty pouze řádky s "rsmith" ve sloupci user_id .

-DynamicSnapshotLocationdynamic_snapshot_location
Je umístění, kde by se měl vygenerovat dynamický snímek.

-EncryptionLevel [ 0 | 1 | 2 | 3 | 4]
Je úroveň protokolu TLS (Transport Layer Security), dříve označované jako SSL (Secure Sockets Layer), šifrování používané agentem snapshot při vytváření připojení.

Hodnota EncryptionLevel Popis
0 Určuje, že se nepoužívá protokol TLS.
1 Určuje, že se používá protokol TLS 1.2, ale agent neověřuje, že certifikát serveru TLS/SSL je podepsaný důvěryhodným vystavitelem.
2 Určuje, že se používá protokol TLS 1.2 a že se certifikát ověří.
3 Určuje, že pro připojení ze služby Azure SQL Managed Instance nebo SQL Serveru 2025 a novějších verzí se použije spravovaná instance Azure SQL, použije se protokol TLS 1.3 a certifikát se ověří. U připojení k SQL Serveru (jakákoli podporovaná verze) se protokol TLS 1.3 nevynucuje s možností 3.
4 Určuje, že pro připojení ze služby Azure SQL Managed Instance nebo SQL Serveru 2025 a novějších verzí se použije spravovaná instance Azure SQL, použije se protokol TLS 1.3 a certifikát se ověří. Pro připojení ze služby Azure SQL Managed Instance nebo SQL Serveru 2025 a novějších verzí k SQL Serveru (kterákoli podporovaná verze) se použije protokol TLS 1.3 a certifikát se ověří. Vyžaduje instalaci certifikátu na hostitele SQL Serveru, kteří přijímají připojení s nastaveným EncryptionLevel nastavením 4.

Platný certifikát TLS/SSL je definován s plně kvalifikovaným názvem domény SQL Serveru. Aby se agent mohl úspěšně připojit při nastavení -EncryptionLevel na 2, vytvořte alias na místním SQL Serveru. Parametr Alias Name by měl být název serveru a parametr Server by měl být nastaven na plně kvalifikovaný název SQL Serveru.

Další informace naleznete v tématu Zobrazení a úprava nastavení zabezpečení replikace.

-FieldDelimiterfield_delimiter
Je znak nebo sekvence znaků, která označuje konec pole v datovém souboru hromadného kopírování SQL Serveru. Výchozí hodnota je \n<x$3>\n.

-HistoryVerboseLevel [ 1| 2| 3]
Určuje množství historie protokolované během operace snímku. Když vyberete 1, můžete minimalizovat vliv protokolování historie na výkon.

Hodnota HistoryVerboseLevel Popis
0 Zprávy o průběhu se zapisují buď do konzoly, nebo do výstupního souboru. Záznamy historie nejsou protokolovány v distribuční databázi.
1 Vždy aktualizujte předchozí zprávu historie o stejném stavu (spuštění, průběh, úspěch atd.). Pokud neexistuje žádný předchozí záznam se stejným stavem, vložte nový záznam.
2 (výchozí) Vložte nové záznamy historie, pokud záznam není určený například pro nečinné zprávy nebo dlouho běžící zprávy úlohy, v takovém případě aktualizujte předchozí záznamy.
3 Vždy vložte nové záznamy, pokud se nejedná o nečinné zprávy.

-HRBcpBlocksnumber_of_blocks
Je počet bloků dat bcp , které jsou zařazeny do fronty mezi vlákny zapisovače a čtenáře. Výchozí hodnota je 50. HrBcpBlocks se používá jenom s publikacemi Oracle.

Poznámka:

Tento parametr slouží k ladění výkonu výkonu bcp od vydavatele Oracle.

- HRBcpBlockVelikostblock_size
Je velikost každého datového bloku bcp v kilobajtech (kB). Výchozí hodnota je 64 kB. HrBcpBlocks se používá jenom s publikacemi Oracle.

Poznámka:

Tento parametr slouží k ladění výkonu výkonu bcp od vydavatele Oracle.

-HRBcpDynamicBlocks
Určuje, jestli se velikost každého datového bloku bcp může dynamicky zvětšovat. HrBcpBlocks se používá jenom s publikacemi Oracle.

Poznámka:

Tento parametr slouží k ladění výkonu výkonu bcp od vydavatele Oracle.

-KeepAliveMessageIntervalkeep_alive_interval
Je doba v sekundách, po kterou agent snímku čeká před protokolováním "čekání na back-endovou zprávu" do tabulky MSsnapshot_history . Výchozí hodnota je 300 sekund.

-LoginTimeOutlogin_time_out_seconds
Je počet sekund před časovým limitem přihlášení. Výchozí hodnota je 15 sekund.

-MaxBcpThreadsnumber_of_threads
Určuje počet operací hromadného kopírování, které lze provádět paralelně. Maximální počet vláken a připojení ODBC, která existují současně, je menší než MaxBcpThreads nebo počet žádostí hromadného kopírování, které se zobrazují v synchronizační transakci v distribuční databázi. MaxBcpThreads musí mít hodnotu větší než 0 a nemá pevně zakódovaný horní limit. Výchozí hodnota je dvakrát počet procesorů.

Poznámka:

Pokud má replikovaný objekt filtr, agent snímku vygeneruje pro tento článek pouze jeden soubor BCP místo generování více souborů BCP.

- MaxNetworkOptimization [ 0| 1]
Je-li irelevantní odstranění odeslána odběrateli. Irelevantní odstranění jsou příkazy DELETE odeslané odběratelům pro řádky, které nepatří do oddílu odběratele. Irelevantní odstranění neovlivňují integritu nebo konvergenci dat, ale mohou vést k zbytečným síťovým přenosům. Výchozí hodnota MaxNetworkOptimization je 0. Nastavení MaxNetworkOptimization na 1 minimalizuje šance na irelevantní odstranění, což snižuje síťový provoz a maximalizuje optimalizaci sítě. Nastavení tohoto parametru na hodnotu 1 může také zvýšit úložiště metadat a způsobit snížení výkonu v Publisheru, pokud je k dispozici více úrovní filtrů spojení a složitých filtrů podmnožina. Měli byste pečlivě posoudit topologii replikace a nastavit MaxNetworkOptimization na hodnotu 1 pouze v případě, že síťový provoz z irelevantních odstranění je nepřijatelně vysoký.

Poznámka:

Nastavení tohoto parametru na hodnotu 1 je užitečné pouze v případě, že je možnost optimalizace synchronizace publikace sloučení nastavena na hodnotu true ( @keep_partition_changes** parametr sp_addmergepublication (Transact-SQL)).

-Výstupníoutput_path_and_file_name
Je cesta výstupního souboru agenta. Pokud není zadaný název souboru, odešle se výstup do konzoly. Pokud zadaný název souboru existuje, výstup se připojí k souboru.

-OutputVerboseLevel [ 0| 1| 2]
Určuje, jestli má být výstup podrobný.

Hodnota OutputVerboseLevel Popis
0 Vytisknou se jenom chybové zprávy.
1 (výchozí) Všechny zprávy o průběhu sestavy se vytisknou (výchozí).
2 Všechny chybové zprávy a zprávy o průběhu se vytisknou, což je užitečné pro ladění.

-PacketSizepacket_size
Je velikost paketu (v bajtech) používaná agentem snímků při připojování k SQL Serveru. Výchozí hodnota je 8192 bajtů.

Poznámka:

Velikost paketů neměňte, pokud si nejste jistí, že zvýší výkon. Pro většinu aplikací je nejlepší výchozí velikost paketu.

-PrefetchTables [ 0| 1]
Volitelný parametr, který určuje, jestli budou objekty tabulky předem načteny a uloženy do mezipaměti. Výchozím chováním je předem načíst určité vlastnosti tabulky pomocí komponenty SMO na základě interního výpočtu. Tento parametr může být užitečný ve scénářích, kdy operace předběžného načtení SMO trvá poměrně dlouho. Pokud se tento parametr nepoužívá, toto rozhodnutí se provede za běhu na základě procenta tabulek přidaných jako články do publikace.

Hodnota OutputVerboseLevel Popis
0 Volání metody Prefetch komponenty SMO je zakázáno.
1 Snapshot Agent zavolá metodu Prefetch pro uložení některých vlastností tabulky do mezipaměti pomocí SMO.

-ProfileNameprofile_name
Určuje profil agenta, který se má použít pro parametry agenta. Pokud profileName má hodnotu NULL, profil agenta je zakázaný. Pokud není zadaný profileName , použije se výchozí profil pro typ agenta. Informace najdete v tématu Profily agenta replikace.

-PublisherDBpublisher_database
Je název databáze publikace. Tento parametr není podporován pro vydavatele Oracle.

-Priorita PublisherDeadlockPriority [-1|0|1]
Je prioritou připojení snapshot agenta k Publisheru, když dojde k zablokování. Tento parametr je určen k vyřešení zablokování, ke kterým může dojít mezi agentem snímků a uživatelskými aplikacemi během generování snímků.

Hodnota PublisherDeadlockPriority Popis
-1 Aplikace jiné než Snapshot Agent mají prioritu, pokud dojde k vzájemnému zablokování v Publisheru.
0 (výchozí) Priorita není přiřazena.
1 Agent snímku má prioritu, když dojde k vzájemnému zablokování v Publisheru.

-PublisherFailoverPartnerserver_name[\instance_name]
Určuje instanci partnera pro převzetí služeb při selhání SYSTÉMU SQL Server, který se účastní relace zrcadlení databáze s databází publikace. Další informace naleznete v tématu Zrcadlení a replikace databáze (SQL Server).

-PublisherLoginpublisher_login
Používá se přihlášení při připojování k Publisheru pomocí ověřování SQL Serveru.

-PublisherPasswordpublisher_password
Je heslo, které se používá při připojování k Publisheru pomocí ověřování SQL Serveru.

-PublisherSecurityMode [ 0| 1
Určuje režim zabezpečení aplikace Publisher. Hodnota 0 označuje ověřování SQL Serveru (výchozí) a hodnota 1 označuje režim ověřování systému Windows.

-QueryTimeOutquery_time_out_seconds
Je počet sekund před časovým limitem dotazu. Výchozí hodnota je 1800 sekund.

-ReplikaceType [ 1| 2]
Určuje typ replikace. Hodnota 1 označuje transakční replikaci a hodnota 2 označuje slučovací replikaci.

-RowDelimiterrow_delimiter
Je znak nebo sekvence znaků, která označuje konec řádku v datovém souboru hromadného kopírování SQL Serveru. Výchozí hodnota je \n<,@g>\n.

-StartQueueTimeoutstart_queue_timeout_seconds
Je maximální počet sekund, po které agent snímků čeká, když počet spuštěných souběžných procesů dynamického snímku je omezen @max_concurrent_dynamic_snapshots vlastností sp_addmergepublication (Transact-SQL). Pokud se dosáhne maximálního počtu sekund a agent snímků stále čeká, ukončí se. Hodnota 0 znamená, že agent počká neomezeně dlouho, i když může být zrušen.

- UsePerArticleContentZobrazituse_per_article_contents_view
Tento parametr je zastaralý a podporuje se pouze kvůli zpětné kompatibilitě.

Poznámky

Důležité

Pokud jste nainstalovali agenta SYSTÉMU SQL Server tak, aby běžel pod účtem místního systému, a ne pod uživatelským účtem domény (výchozí), může služba přistupovat pouze k místnímu počítači. Pokud je agent snímků spuštěný v rámci agenta SQL Serveru nakonfigurovaný tak, aby při přihlášení k SQL Serveru používal režim ověřování systému Windows, agent snímků selže. Výchozí nastavení je ověřování SQL Serveru.

Pokud chcete spustit snapshot agenta, spusťte snapshot.exe z příkazového řádku. Informace naleznete v tématu Spustitelné soubory agenta replikace.