Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Azure SQL Database
Agent migawki replikacji to plik wykonywalny, który przygotowuje pliki migawek zawierające schemat i dane opublikowanych tabel i obiektów bazy danych, przechowuje pliki w folderze migawki i rejestruje zadania synchronizacji w bazie danych dystrybucji.
Uwaga / Notatka
- Parametry można określić w dowolnej kolejności.
Uwaga / Notatka
Azure SQL Managed Instance może być wydawcą, dystrybutorem i subskrybentem replikacji migawek i transakcji. Bazy danych w usłudze Azure SQL Database mogą być subskrybentami typu 'push' wyłącznie do replikacji migawkowej i transakcyjnej. Aby uzyskać więcej informacji, zobacz Replikacja transakcyjna z Azure SQL Database i Azure SQL Managed Instance.
Składnia
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 (w programowaniu)
-?
Drukuje wszystkie dostępne parametry.
-Wydawcaserver_name[\instance_name]
To nazwa wydawcy. Określ server_name dla domyślnego wystąpienia programu Microsoft SQL Server na tym serwerze. Określ server_name instance_name\ dla nazwanego wystąpienia programu SQL Server na tym serwerze.
-Publikacja
To nazwa publikacji. Ten parametr jest prawidłowy tylko wtedy, gdy publikacja ma zawsze dostępną migawkę dla nowych lub ponownie zainicjowanych subskrypcji.
-70Subscribers
Należy użyć, jeśli subskrybenci korzystają z programu SQL Server w wersji 7.0.
-BcpBatchSize bcp_ batch_ size
To liczba wierszy do wysłania w operacji kopiowania zbiorczego. Podczas wykonywania operacji bcp rozmiar partii to liczba wierszy do wysłania na serwer jako jedna transakcja, a także liczba wierszy, które należy wysłać przed dziennikiem komunikatu o postępie programu bcp przez agenta dystrybucji. Podczas wykonywania operacji bcp out jest używany stały rozmiar partii 1000. Wartość 0 oznacza brak rejestrowania komunikatów.
-DefinitionFiledef_path_and_file_name
To ścieżka pliku definicji agenta. Plik definicji agenta zawiera argumenty wiersza polecenia dla agenta. Zawartość pliku jest analizowana jako plik wykonywalny. Użyj podwójnych cudzysłowów ("), aby określić wartości argumentów zawierające dowolne znaki.
-Dystrybutorserver_name[\instance_name]
To nazwa dystrybutora. Określ server_name dla domyślnego wystąpienia programu SQL Server na tym serwerze. Określ server_name instance_name\ dla nazwanego wystąpienia programu SQL Server na tym serwerze.
-Priorytet blokady rozdzielacza [-1|0|1]
Jest priorytetem połączenia agenta migawek z dystrybutorem w przypadku zakleszczenia. Ten parametr jest określony w celu rozwiązania zakleszczeń, które mogą wystąpić między agentem migawek a aplikacjami użytkownika podczas generowania migawki.
| Wartość DistributorDeadlockPriority | Opis |
|---|---|
| -1 | Aplikacje inne niż agent migawek mają priorytet w przypadku zakleszczenia w dystrybutorze. |
| 0 (ustawienie domyślne) | Priorytet nie jest przypisany. |
| 1 | Agent migawek ma priorytet w przypadku zakleszczenia w dystrybutorze. |
-DistributorLogindistributor_login
Czy identyfikator logowania jest używany podczas nawiązywania połączenia z dystrybutorem przy użyciu uwierzytelniania programu SQL Server.
-DistributorPassworddistributor_password
Czy hasło jest używane podczas nawiązywania połączenia z dystrybutorem przy użyciu uwierzytelniania programu SQL Server.
-Tryb Bezpieczeństwa Rozdzielacza [ 0| 1]
Określa tryb zabezpieczeń dystrybutora. Wartość 0 wskazuje tryb uwierzytelniania programu SQL Server (wartość domyślna), a wartość 1 wskazuje tryb uwierzytelniania systemu Windows.
-DynamicFilterHostNamedynamic_filter_host_name
Służy do ustawiania wartości dla HOST_NAME (Transact-SQL) w filtrowaniu podczas tworzenia migawki dynamicznej. Jeśli na przykład klauzula rep_id = HOST_NAME() filtru podzestawu jest określona dla artykułu, a właściwość DynamicFilterHostName zostanie ustawiona na "FBJones" przed wywołaniem agenta scalania, zostaną zreplikowane tylko wiersze o wartości "FBJones" w kolumnie rep_id .
-DynamicFilterLogindynamic_filter_login
Służy do ustawiania wartości dla SUSER_SNAME (Transact-SQL) w filtrowaniu podczas tworzenia migawki dynamicznej. Jeśli na przykład klauzula user_id = SUSER_SNAME() filtru podzestawu jest określona dla artykułu, a właściwość DynamicFilterLogin zostanie ustawiona na "rsmith" przed wywołaniem metody Run obiektu SQLSnapshot , tylko wiersze o wartości "rsmith" w kolumnie user_id zostaną uwzględnione w migawce.
-DynamicSnapshotLocationdynamic_snapshot_location
To lokalizacja, w której ma zostać wygenerowana migawka dynamiczna.
-EncryptionLevel [ 0 | 1 | 2 | 3 | 4]
To poziom protokołu Transport Layer Security (TLS), wcześniej znany jako Secure Sockets Layer (SSL), szyfrowanie używane przez agenta migawek podczas nawiązywania połączeń.
| Wartość EncryptionLevel | Opis |
|---|---|
0 |
Określa, że protokół TLS nie jest używany. |
1 |
Określa, że jest używany protokół TLS 1.2, ale agent nie sprawdza, czy certyfikat serwera TLS/SSL jest podpisany przez zaufanego wystawcę. |
2 |
Określa, że jest używany protokół TLS 1.2 i czy certyfikat jest weryfikowany. |
3 |
Określa, że w przypadku połączeń z usługi Azure SQL Managed Instance lub programu SQL Server 2025 i nowszych wersji do usługi Azure SQL Managed Instance używany jest protokół TLS 1.3, a certyfikat jest weryfikowany. W przypadku połączeń z programem SQL Server (dowolną obsługiwaną wersją) protokół TLS 1.3 nie jest wymuszany z opcją 3. |
4 |
Określa, że w przypadku połączeń z usługi Azure SQL Managed Instance lub programu SQL Server 2025 i nowszych wersji do usługi Azure SQL Managed Instance używany jest protokół TLS 1.3, a certyfikat jest weryfikowany. W przypadku połączeń z usługi Azure SQL Managed Instance lub programu SQL Server 2025 i nowszych wersji do programu SQL Server (dowolnej obsługiwanej wersji) jest używany protokół TLS 1.3, a certyfikat jest weryfikowany. Wymaga zainstalowania certyfikatu na hostach programu SQL Server, które odbierają połączenia z ustawioną wartością EncryptionLevel4. |
Prawidłowy certyfikat TLS/SSL jest zdefiniowany z w pełni kwalifikowaną nazwą domeny programu SQL Server. Aby agent pomyślnie nawiązał połączenie podczas ustawiania -EncryptionLevel na 2, utwórz alias w lokalnym programie SQL Server. Parametr "Nazwa aliasu" powinien być nazwą serwera, a parametr "Serwer" powinien być ustawiony na w pełni kwalifikowaną nazwę programu SQL Server.
Aby uzyskać więcej informacji, zobacz Wyświetlanie i modyfikowanie ustawień zabezpieczeń replikacji.
-FieldDelimiterfield_delimiter
To znak lub sekwencja znaków, która oznacza koniec pola w pliku danych kopiowania zbiorczego programu SQL Server. Wartość domyślna to \n<x$3>\n.
-HistoryVerboseLevel [ 1| 2| 3
Określa ilość historii rejestrowanej podczas operacji migawki. Możesz zminimalizować wpływ rejestrowania historii na wydajność, wybierając pozycję 1.
| Wartość HistoryVerboseLevel | Opis |
|---|---|
| 0 | Komunikaty postępu są zapisywane w konsoli lub w pliku wyjściowym. Rekordy historii nie są rejestrowane w bazie danych dystrybucji. |
| 1 | Zawsze aktualizuj poprzedni komunikat historii o tym samym stanie (uruchamianie, postęp, powodzenie itd.). Jeśli nie istnieje żaden poprzedni rekord o tym samym stanie, wstaw nowy rekord. |
| 2 (ustawienie domyślne) | Wstaw nowe rekordy historii, chyba że rekord dotyczy takich elementów jak komunikaty bezczynności lub długotrwałe komunikaty zadań, w takim przypadku zaktualizuj poprzednie rekordy. |
| 3 | Zawsze wstaw nowe rekordy, chyba że jest przeznaczony dla komunikatów bezczynnych. |
-HRBcpBlocksnumber_of_blocks
Czy liczba bloków danych bcp , które są kolejkowane między modułem zapisywania i wątkami czytnika. Wartość domyślna to 50.
HrBcpBlocks jest używany tylko z publikacjami Oracle.
Uwaga / Notatka
Ten parametr jest używany do dostrajania wydajności narzędzia bcp z programu Oracle Publisher.
-
HRBcpBlockSizeblock_size
Jest rozmiarem w kilobajtach (KB) każdego bloku danych bcp . Wartość domyślna to 64 KB.
HrBcpBlocks jest używany tylko z publikacjami Oracle.
Uwaga / Notatka
Ten parametr jest używany do dostrajania wydajności narzędzia bcp z programu Oracle Publisher.
-HRBcpDynamicBlocks
Określa, czy rozmiar każdego bloku danych bcp może rosnąć dynamicznie.
HrBcpBlocks jest używany tylko z publikacjami Oracle.
Uwaga / Notatka
Ten parametr jest używany do dostrajania wydajności narzędzia bcp z programu Oracle Publisher.
-KeepAliveMessageIntervalkeep_alive_interval
To czas oczekiwania agenta migawek w sekundach przed zalogowaniem "oczekiwanie na komunikat zaplecza" do tabeli MSsnapshot_history . Wartość domyślna to 300 sekund.
-LoginTimeOutlogin_time_out_seconds
Jest liczbą sekund przed upływem limitu czasu logowania. Wartość domyślna to 15 sekund.
-MaxBcpThreadsnumber_of_threads
Określa liczbę operacji kopiowania zbiorczego, które można wykonać równolegle. Maksymalna liczba wątków i połączeń ODBC, które istnieją jednocześnie, jest mniejsza od MaxBcpThreads lub liczba żądań kopiowania zbiorczego, które są wyświetlane w transakcji synchronizacji w bazie danych dystrybucji.
Wartość MaxBcpThreads musi być większa niż 0 i nie ma zakodowanego górnego limitu. Wartość domyślna to dwukrotnie większa liczba procesorów.
Uwaga / Notatka
Jeśli replikowany obiekt ma filtr, agent migawki wygeneruje tylko jeden plik BCP dla tego artykułu zamiast generowania wielu plików BCP.
-
MaxNetworkOptimization [ 0| 1]
Czy usunięcie nieistotne jest wysyłane do subskrybenta. Nieistotne usunięcia to polecenia DELETE wysyłane do subskrybentów dla wierszy, które nie należą do partycji subskrybenta. Nieistotne usunięcia nie mają wpływu na integralność danych ani zbieżność, ale mogą powodować niepotrzebny ruch sieciowy. Wartość domyślna maxNetworkOptimization to 0. Ustawienie wartości MaxNetworkOptimization na 1 minimalizując prawdopodobieństwo nieistotnych usunięcia, zmniejszając tym samym ruch sieciowy i maksymalizując optymalizację sieci. Ustawienie tego parametru na 1 może również zwiększyć magazyn metadanych i spowodować obniżenie wydajności w programie Publisher, jeśli istnieją wiele poziomów filtrów sprzężenia i złożonych filtrów podzestawu. Należy dokładnie ocenić topologię replikacji i ustawić parametr MaxNetworkOptimization na wartość 1 tylko wtedy, gdy ruch sieciowy z nieistotnych usuwania jest niedopuszczalnie wysoki.
Uwaga / Notatka
Ustawienie tego parametru na wartość 1 jest przydatne tylko wtedy, gdy opcja optymalizacji synchronizacji publikacji scalania ma wartość true ( @keep_partition_changes** parametr sp_addmergepublication (Transact-SQL)).
-Outputoutput_path_and_file_name
To ścieżka pliku wyjściowego agenta. Jeśli nazwa pliku nie zostanie podana, dane wyjściowe zostaną wysłane do konsoli programu . Jeśli określona nazwa pliku istnieje, dane wyjściowe są dołączane do pliku.
-OutputVerboseLevel [ 0| 1| 2]
Określa, czy dane wyjściowe powinny być pełne.
| Wartość OutputVerboseLevel | Opis |
|---|---|
| 0 | Drukowane są tylko komunikaty o błędach. |
| 1 (ustawienie domyślne) | Wszystkie komunikaty raportu postępu są drukowane (ustawienie domyślne). |
| 2 | Wszystkie komunikaty o błędach i komunikaty raportu postępu są drukowane, co jest przydatne do debugowania. |
-PacketSizepacket_size
Czy rozmiar pakietu (w bajtach) używany przez agenta migawek podczas nawiązywania połączenia z programem SQL Server. Wartość domyślna to 8192 bajty.
Uwaga / Notatka
Nie zmieniaj rozmiaru pakietu, chyba że masz pewność, że poprawi wydajność. W przypadku większości aplikacji domyślny rozmiar pakietu jest najlepszy.
-PrefetchTables [ 0| 1]
Opcjonalny parametr określający, czy obiekty tabeli zostaną wstępnie pobrane i buforowane. Domyślne zachowanie polega na wstępnie pobrać niektóre właściwości tabeli przy użyciu składnika SMO na podstawie obliczeń wewnętrznych. Ten parametr może być przydatny w scenariuszach, w których operacja pobierania wstępnego SMO trwa znacznie dłużej. Jeśli ten parametr nie jest używany, ta decyzja jest podjęta w czasie wykonywania na podstawie procentu tabel, które są dodawane jako artykuły do publikacji.
| Wartość OutputVerboseLevel | Opis |
|---|---|
| 0 | Wywołanie metody prefetch składnika SMO jest wyłączone. |
| 1 | Agent migawek wywoła metodę pobierania wstępnego w celu buforowania niektórych właściwości tabeli przy użyciu funkcji SMO |
-ProfileNameprofile_name
Określa profil agenta do użycia dla parametrów agenta. Jeśli wartość ProfileName ma wartość NULL, profil agenta jest wyłączony. Jeśli parametr ProfileName nie zostanie określony, zostanie użyty domyślny profil typu agenta. Aby uzyskać informacje, zobacz Profile agenta replikacji.
-PublisherDBpublisher_database
To nazwa bazy danych publikacji.
Ten parametr nie jest obsługiwany w przypadku programu Oracle Publishers.
-Priorytet blokady wydawcy [-1|0|1]
Jest priorytetem połączenia agenta migawek z programem Publisher w przypadku zakleszczenia. Ten parametr jest określony w celu rozwiązania zakleszczeń, które mogą wystąpić między agentem migawek a aplikacjami użytkownika podczas generowania migawki.
| Wartość PublisherDeadlockPriority | Opis |
|---|---|
| -1 | Aplikacje inne niż agent migawek mają priorytet w przypadku zakleszczenia w programie Publisher. |
| 0 (ustawienie domyślne) | Priorytet nie jest przypisany. |
| 1 | Agent migawek ma priorytet w przypadku zakleszczenia w programie Publisher. |
-Partner awaryjne wydawcyserver_name[\instance_name]
Określa wystąpienie partnera trybu failover programu SQL Server biorące udział w sesji dublowania bazy danych z bazą danych publikacji. Aby uzyskać więcej informacji, zobacz Dublowanie i replikacja bazy danych (SQL Server).
-PublisherLoginpublisher_login
Czy identyfikator logowania jest używany podczas nawiązywania połączenia z programem Publisher przy użyciu uwierzytelniania programu SQL Server.
-PublisherPasswordpublisher_password
Czy hasło jest używane podczas nawiązywania połączenia z programem Publisher przy użyciu uwierzytelniania programu SQL Server.
-PublisherSecurityMode [ 0| 1]
Określa tryb zabezpieczeń wydawcy. Wartość 0 oznacza uwierzytelnianie programu SQL Server (wartość domyślna), a wartość 1 wskazuje tryb uwierzytelniania systemu Windows.
-QueryTimeOutquery_time_out_seconds
Jest liczbą sekund przed upływem limitu czasu zapytania. Wartość domyślna to 1800 sekund.
-Typ replikacji [ 1| 2]
Określa typ replikacji. Wartość 1 wskazuje replikację transakcyjną, a wartość 2 wskazuje replikację scalaną.
-RowDelimiterrow_delimiter
To znak lub sekwencja znaków, która oznacza koniec wiersza w pliku danych kopiowania zbiorczego programu SQL Server. Wartość domyślna to \n<,@g>\n.
-StartQueueTimeoutstart_queue_timeout_seconds
Czy maksymalna liczba sekund oczekiwania agenta migawek, gdy liczba uruchomionych współbieżnych procesów migawki dynamicznej wynosi limit ustawiony przez @max_concurrent_dynamic_snapshots właściwość sp_addmergepublication (Transact-SQL). Jeśli zostanie osiągnięta maksymalna liczba sekund, a agent migawek nadal czeka, zakończy działanie. Wartość 0 oznacza, że agent czeka na czas nieokreślony, chociaż można go anulować.
-
UsePerArticleContentsZobaczuse_per_article_contents_view
Ten parametr został przestarzały i jest obsługiwany tylko w przypadku zgodności z poprzednimi wersjami.
Uwagi
Ważne
Jeśli program SQL Server Agent został zainstalowany do uruchamiania na koncie systemu lokalnego, a nie w ramach konta użytkownika domeny (ustawienie domyślne), usługa może uzyskać dostęp tylko do komputera lokalnego. Jeśli agent migawek działający w ramach agenta programu SQL Server jest skonfigurowany do korzystania z trybu uwierzytelniania systemu Windows podczas logowania się do programu SQL Server, agent migawki kończy się niepowodzeniem. Ustawieniem domyślnym jest uwierzytelnianie programu SQL Server.
Aby uruchomić agenta migawek, wykonaj snapshot.exe z wiersza polecenia. Aby uzyskać informacje, zobacz Pliki wykonywalne agenta replikacji.