Udostępnij za pośrednictwem


Jak Utwórz migawka publikacja korespondencji seryjnej z filtrami sparametryzowana (Programowanie replikacja języka Transact-SQL)

Podczas generowania migawka dla publikacji przy użyciu filtrów sparametryzowana, najpierw należy wygenerować migawkę standardowe lub schematu, zawierający wszystkie publikowane dane i metadane subskrybent dla subskrypcja.Aby uzyskać więcej informacji zobacz Jak Tworzenie migawka początkowy (Programowanie replikacja języka Transact-SQL). Po utworzeniu migawka schemat można wygenerować migawkę, zawierający partycję specyficzne dla subskrybent opublikowanych danych.

Za pomocą procedur przechowywanych i agenta migawka, można wykonać następujące czynności:

  • Zezwalaj na subskrybentów do generowania migawka żądanie i aplikacji po raz pierwszy, są synchronizowane.

  • Wstępnie wygenerować migawki dla każdej partycji.

  • Ręcznie wygenerować migawka dla poszczególnych subskrybent.

    Uwaga zabezpieczeń   Jeśli jest to możliwe, monituje użytkowników o wprowadzenie poświadczenia zabezpieczeń w czasie wykonywania.Jeśli poświadczenia muszą być przechowywane w pliku skryptu, należy zabezpieczyć plik, aby uniemożliwić nieautoryzowany dostęp.

Aby utworzyć publikacja, która umożliwia subskrybentów zainicjować migawka wytwarzania i dostawy

  1. Wydawca publikacja bazy danych wykonać sp_addmergepublication (języka Transact-SQL). Należy określić następujące parametry:

    • Nazwa publikacja @ publikacja.

    • Wartość true dla @ allow_subscriber_initiated_snapshot, co umożliwia subskrybentów rozpocząć proces migawka.

    • (Opcjonalnie) Liczba dynamiczna migawka procesów, które jednocześnie mogą działać dla @ max_concurrent_dynamic_snapshots.Jeśli maksymalna liczba procesów jest uruchomiony i subskrybent próbuje wygenerować migawka, proces jest umieszczona w kolejce.Domyślnie jest nieograniczona liczba jednoczesnych procesów.

  2. Wydawca wykonać sp_addpublication_snapshot (Transact-SQL). Określ nazwę publikacja, w kroku 1 do @ publikacja and the Microsoft Poświadczenia systemu Windows, w których Replication Snapshot Agent działa dla @ job_login and @ hasła.If the agent will use SQL Server Authentication when connecting to the Publisher, you must also specify a value of 0 for @publisher_security_mode and the Microsoft SQL Server login information for @publisher_login and @publisher_password.Spowoduje to utworzenie zadanie agenta migawka dla publikacja.Aby uzyskać więcej informacji na temat generowania migawka początkowa i definiowania harmonogram niestandardowy dla spedytora, migawka zobacz Jak Tworzenie migawka początkowy (Programowanie replikacja języka Transact-SQL).

    Security noteSecurity Note:

    Podczas konfigurowania przez wydawcę z dystrybutor zdalny wartości dostarczane dla wszystkich parametrów w tym job_login i job_password, są wysyłane do dystrybutor jako zwykły tekst. Należy zaszyfrować połączenie między Wydawca i jego dystrybutor zdalnym przed wykonaniem tej procedura przechowywana.Aby uzyskać więcej informacji zobacz Encrypting Connections to SQL Server.

  3. wykonać sp_addmergearticle (Transact-SQL) Aby dodać artykuły do publikacja. Ta procedura przechowywana muszą być wykonane raz dla każdego artykuł w publikacja.W przypadku korzystania z filtrów sparametryzowana, należy określić jeden lub więcej artykułów, przy użyciu sparametryzowany filtr wierszy @ subset_filterclause parametr.Aby uzyskać więcej informacji zobacz Jak Definiowanie i modyfikowanie filtru sparametryzowana wiersz artykuł korespondencji seryjnej (Programowanie replikacja języka Transact-SQL).

  4. Jeśli inne artykuły można filtrować z powodu sparametryzowany filtr wierszy, wykonać sp_addmergefilter (języka Transact-SQL) Aby zdefiniować łączyć lub rekord logiczny relacji między artykułów. Ta procedura przechowywana muszą być wykonane raz dla każdej relacji jest zdefiniowany.Aby uzyskać więcej informacji zobacz Jak Definiowanie i modyfikowanie filtr łączenia między artykułów korespondencji seryjnej (Programowanie replikacja języka Transact-SQL).

  5. Gdy Agent Scal żąda migawka zainicjować subskrybent, migawkę dla subskrypcja żądającego partycji jest generowany automatycznie.

Tworzenie publikacja i wstępnie wygenerować lub automatyczne odświeżanie migawki

  1. wykonać sp_addmergepublication (języka Transact-SQL) Aby utworzyć publikacja. Aby uzyskać więcej informacji zobacz Jak Tworzenie publikacja (Programowanie replikacja języka Transact-SQL).

  2. Wydawca wykonać sp_addpublication_snapshot (Transact-SQL). Określ nazwę publikacja, w kroku 1 do @ publikacja i poświadczenia systemu Windows, na których migawka Agent zatrzymywał @ job_login and @ hasła.Jeśli będzie używany przez agenta SQL Server Uwierzytelnianie podczas łączenia się z wydawcą, należy także określić wartość 0 for @ publisher_security_mode and the SQL Server informacje o logowaniu dla @ publisher_login and @ publisher_password.Spowoduje to utworzenie zadanie agenta migawka dla publikacja.Aby uzyskać więcej informacji na temat generowania migawka początkowa i definiowania harmonogram niestandardowy dla spedytora, migawka zobacz Jak Tworzenie migawka początkowy (Programowanie replikacja języka Transact-SQL).

    Security noteSecurity Note:

    Podczas konfigurowania przez wydawcę z dystrybutor zdalny wartości dostarczane dla wszystkich parametrów w tym job_login i job_password, są wysyłane do dystrybutor jako zwykły tekst. Należy zaszyfrować połączenie między Wydawca i jego dystrybutor zdalnym przed wykonaniem tej procedura przechowywana.Aby uzyskać więcej informacji zobacz Encrypting Connections to SQL Server.

  3. wykonać sp_addmergearticle (Transact-SQL) Aby dodać artykuły do publikacja. Ta procedura przechowywana muszą być wykonane raz dla każdego artykuł w publikacja.W przypadku korzystania z parametrami filtrów, należy określić sparametryzowany filtr wierszy dla jednego artykuł przy użyciu @ subset_filterclause parametr.Aby uzyskać więcej informacji zobacz Jak Definiowanie i modyfikowanie filtru sparametryzowana wiersz artykuł korespondencji seryjnej (Programowanie replikacja języka Transact-SQL).

  4. Jeśli inne artykuły można filtrować z powodu sparametryzowany filtr wierszy, wykonać sp_addmergefilter (języka Transact-SQL) Aby zdefiniować łączyć lub rekord logiczny relacji między artykułów. Ta procedura przechowywana muszą być wykonane raz dla każdej relacji jest zdefiniowany.Aby uzyskać więcej informacji zobacz Jak Definiowanie i modyfikowanie filtr łączenia między artykułów korespondencji seryjnej (Programowanie replikacja języka Transact-SQL).

  5. W programie Publisher na baza danych publikacja, wykonać sp_helpmergepublication (języka Transact-SQL), określający wartość @ publikacja z kroku 1.Zanotuj wartość snapshot_jobid zestaw wyników.

  6. Konwertowanie wartości snapshot_jobid uzyskane w kroku 5, aby Uniqueidentifier.

  7. Wydawca na msdb bazy danych, wykonać sp_start_job (języka Transact-SQL), określając konwertowaną wartość uzyskana w kroku 6 dla @ job_id.

  8. Wydawca publikacja bazy danych wykonać sp_addmergepartition (Transact-SQL). Określ nazwę publikacja z kroku 1 do @ publikacja i wartością służy do definiowania partycji @ suser_sname if SUSER_SNAME (Transact-SQL) jest używany w klauzula filtru lub @ host_name if HOST_NAME (Transact-SQL) jest używana w klauzula filtru.

  9. W programie publisher na baza danych publikacja, wykonać sp_adddynamicsnapshot_job (języka Transact-SQL). Określ nazwę publikacja z kroku 1 do @ publikacja, wartość @ suser_sname or @ host_name od kroku 8, a harmonogram dla zadanie.Spowoduje to utworzenie zadanie, które generuje sparametryzowana migawka dla określonej partycji.Aby uzyskać więcej informacji zobacz Jak Określ harmonogramy synchronizacji (Programowanie replikacja języka Transact-SQL).

    Uwaga

    To zadanie jest uruchamiane przy użyciu tego samego konta systemu Windows jako zadanie początkowe migawka zdefiniowanej w kroku 2.Aby usunąć zadanie sparametryzowana migawka i jego partycji powiązanych danych, wykonać sp_dropdynamicsnapshot_job (Transact-SQL).

  10. Wydawca publikacja bazy danych wykonać sp_helpmergepartition (Transact-SQL), określający wartość @ publikacja z kroku 1, a wartość @ suser_sname or @ host_name od kroku 8.Zanotuj wartość dynamic_snapshot_jobid zestaw wyników.

  11. U dystrybutor na msdb bazy danych, wykonać sp_start_job (języka Transact-SQL), określając wartość uzyskana w kroku 9 dla @ job_id.Spowoduje to uruchomienie zadanie migawka parametryczne dla partycji.

  12. Powtórz kroki 8 — 11, aby wygenerować partycjonowana migawka dla każdej subskrypcja.

Aby utworzyć publikacja i ręcznego tworzenia migawek dla każdej partycji

  1. wykonać sp_addmergepublication (języka Transact-SQL) Aby utworzyć publikacja. Aby uzyskać więcej informacji zobacz Jak Tworzenie publikacja (Programowanie replikacja języka Transact-SQL).

  2. Wydawca wykonać sp_addpublication_snapshot (Transact-SQL). Określ nazwę publikacja, w kroku 1 do @ publikacja i poświadczenia systemu Windows, na których migawka Agent zatrzymywał @ job_login and @ hasła.Jeśli będzie używany przez agenta SQL Server Uwierzytelnianie podczas łączenia się z wydawcą, należy także określić wartość 0 for @ publisher_security_mode and the SQL Server informacje o logowaniu dla @ publisher_login and @ publisher_password.Spowoduje to utworzenie zadanie agenta migawka dla publikacja.Aby uzyskać więcej informacji na temat generowania migawka początkowa i definiowania harmonogram niestandardowy dla spedytora, migawka zobacz Jak Tworzenie migawka początkowy (Programowanie replikacja języka Transact-SQL).

    Security noteSecurity Note:

    Podczas konfigurowania przez wydawcę z dystrybutor zdalny wartości dostarczane dla wszystkich parametrów w tym job_login i job_password, są wysyłane do dystrybutor jako zwykły tekst. Należy zaszyfrować połączenie między Wydawca i jego dystrybutor zdalnym przed wykonaniem tej procedura przechowywana.Aby uzyskać więcej informacji zobacz Encrypting Connections to SQL Server.

  3. wykonać sp_addmergearticle (Transact-SQL) Aby dodać artykuły do publikacja. Ta procedura przechowywana muszą być wykonane raz dla każdego artykuł w publikacja.W przypadku korzystania z parametrami filtrów, należy określić sparametryzowany filtr wierszy dla co najmniej jeden artykuł przy użyciu @ subset_filterclause parametr.Aby uzyskać więcej informacji zobacz Jak Definiowanie i modyfikowanie filtru sparametryzowana wiersz artykuł korespondencji seryjnej (Programowanie replikacja języka Transact-SQL).

  4. Jeśli inne artykuły można filtrować z powodu sparametryzowany filtr wierszy, wykonać sp_addmergefilter (języka Transact-SQL) Aby zdefiniować łączyć lub rekord logiczny relacji między artykułów. Ta procedura przechowywana muszą być wykonane raz dla każdej relacji jest zdefiniowany.Aby uzyskać więcej informacji zobacz Jak Definiowanie i modyfikowanie filtr łączenia między artykułów korespondencji seryjnej (Programowanie replikacja języka Transact-SQL).

  5. Rozpocznij zadanie migawka lub uruchomić Agent replikacja migawka wiersz polecenia, aby wygenerować migawkę standardowego schematu i innych plików.Aby uzyskać więcej informacji zobacz Jak Tworzenie migawka początkowy (Programowanie replikacja języka Transact-SQL).

  6. Ponowne uruchomienie agenta replikacja Snapshot wiersz polecenia, aby generować zbiorcze kopii (.bcp) plików, specifying the location of partycjonowana migawka dla -DynamicSnapshotLocation i jedną lub obie z poniższych właściwości, która definiuje partycję:

  7. Powtórz krok 6, aby wygenerować migawkę podzielonym na partycje dla każdej subskrypcja.

  8. Uruchom agenta korespondencji seryjnej dla każdej subskrypcja stosowanie wstępnego partycjonowana migawka na subskrybentów, określając następujące właściwości:

    • -Nazwa hosta - wartość używana do definiowania partycji, jeśli została zastąpiona rzeczywistej wartości HOST_NAME.

    • -DynamicSnapshotLocation — lokalizacja dynamicznej migawka dla tej partycji.

Uwaga

Aby uzyskać więcej informacji na temat programowania agentów replikacja Zobacz Pojęcia dotyczące replikacja agenta pliki wykonywalne.

Example

W tym przykładzie tworzony publikacja korespondencji seryjnej z parametrami filtrów, gdzie subskrybentów rozpoczęciu procesu generowania migawka.Wartości dla @ job_login and @ job_password są przekazywane w przy użyciu wykonywanie wykonywanie skryptów zmiennych.

W tym przykładzie tworzony przy użyciu filtru sparametryzowana, gdzie każdy subskrybent ma jego partycję zdefiniowane przez publikacja sp_addmergepartition i utworzono wykonując zadanie filtrowane migawkasp_adddynamicsnapshot_job , przekazując informacje o partycjonowanie.Wartości dla @ job_login and @ job_password są przekazywane w przy użyciu wykonywanie wykonywanie skryptów zmiennych.

W tym przykładzie tworzony publikacja przy użyciu filtru sparametryzowana, gdzie każdy subskrybent musi mieć jego partycjonowanie danych i utworzono, podając informacje o partycjonowanie zadanie filtrowane migawka.Subskrybent podaje informacje o partycjonowanie przy użyciu parametrów wiersza polecenia podczas ręcznego uruchamiania agentów replikacja.W tym przykładzie przyjmuje się, czy też został utworzony subskrypcja do publikacja.