Agent synchronizacji danych dla usługi SQL Data Sync

Dotyczy:Azure SQL Database

Synchronizuj dane z bazami danych programu SQL Server, instalując i konfigurując agenta synchronizacji danych dla usługi SQL Data Sync na platformie Azure. Aby uzyskać więcej informacji na temat usługi SQL Data Sync, zobacz Synchronizowanie danych w wielu chmurach i lokalnych bazach danych za pomocą usługi SQL Data Sync.

Ważne

Usługa SQL Data Sync nie obsługuje obecnie usługi Azure SQL Managed Instance ani Azure Synapse Analytics.

Pobieranie i instalowanie

Aby pobrać agenta synchronizacji danych, przejdź do pozycji Agent usługi SQL Data Sync. Aby uaktualnić agenta synchronizacji danych, zainstaluj agenta w tej samej lokalizacji co stary agent i zastąpi oryginalny agent.

Instalowanie w trybie dyskretnym

Aby zainstalować agenta synchronizacji danych w trybie dyskretnym z wiersza polecenia, wprowadź polecenie podobne do poniższego przykładu. Sprawdź nazwę pobranego pliku msi i podaj własne wartości argumentów TARGETDIR i SERVICEACCOUNT .

  • Jeśli nie podasz wartości TARGETDIR, wartość domyślna to C:\Program Files (x86)\Microsoft SQL Data Sync 2.0.

  • Jeśli podasz LocalSystem wartość SERVICEACCOUNT, użyj uwierzytelniania programu SQL Server podczas konfigurowania agenta w celu nawiązania połączenia z programem SQL Server.

  • W przypadku podania konta użytkownika domeny lub konta użytkownika lokalnego jako wartości SERVICEACCOUNT należy również podać hasło za pomocą argumentu SERVICEPASSWORD . Na przykład SERVICEACCOUNT="<domain>\<user>" SERVICEPASSWORD="<password>".

msiexec /i "SQLDataSyncAgent-2.0-x86-ENU.msi" TARGETDIR="C:\Program Files (x86)\Microsoft SQL Data Sync 2.0" SERVICEACCOUNT="LocalSystem" /qn

Synchronizowanie danych z bazą danych programu SQL Server

Aby skonfigurować agenta synchronizacji danych, aby można było synchronizować dane z co najmniej jedną bazą danych programu SQL Server, zobacz Dodawanie bazy danych programu SQL Server.

Agent usługi Data Sync — często zadawane pytania

Dlaczego potrzebuję agenta klienta

Usługa SQL Data Sync komunikuje się z bazami danych programu SQL Server za pośrednictwem agenta klienta. Ta funkcja zabezpieczeń uniemożliwia bezpośrednią komunikację z bazami danych za zaporą. Gdy usługa SQL Data Sync komunikuje się z agentem, wykonuje to przy użyciu szyfrowanych połączeń i unikatowego tokenu lub klucza agenta. Bazy danych programu SQL Server uwierzytelniają agenta przy użyciu parametrów połączenia i klucza agenta. Ten projekt zapewnia wysoki poziom zabezpieczeń danych.

Ile wystąpień interfejsu użytkownika agenta lokalnego można uruchomić

Można uruchomić tylko jedno wystąpienie interfejsu użytkownika.

Jak mogę zmienić moje konto usługi

Po zainstalowaniu agenta klienta jedynym sposobem zmiany konta usługi jest odinstalowanie go i zainstalowanie nowego agenta klienta przy użyciu nowego konta usługi.

Jak zmienić klucz agenta

Klucz agenta może być używany tylko raz przez agenta. Nie można go ponownie użyć podczas usuwania, a następnie ponownej instalacji nowego agenta ani nie może być używany przez wielu agentów. Jeśli musisz utworzyć nowy klucz dla istniejącego agenta, upewnij się, że ten sam klucz jest rejestrowany za pomocą agenta klienta i z usługą SQL Data Sync.

Jak wycofać agenta klienta

Aby natychmiast unieważnić lub wycofać agenta, ponownie wygeneruj swój klucz w portalu, ale nie przesyłaj go w interfejsie użytkownika agenta. Ponowne generowanie klucza powoduje unieważnienie poprzedniego klucza niezależnie od tego, czy odpowiedni agent jest w trybie online, czy w trybie offline.

Jak przenieść agenta klienta na inny komputer

Jeśli chcesz uruchomić agenta lokalnego z innego komputera niż obecnie, wykonaj następujące czynności:

  1. Zainstaluj agenta na żądanym komputerze.
  2. Zaloguj się do portalu usługi SQL Data Sync i ponownie wygeneruj klucz agenta dla nowego agenta.
  3. Użyj interfejsu użytkownika nowego agenta, aby przesłać nowy klucz agenta.
  4. Zaczekaj, aż agent klienta pobierze listę lokalnych baz danych zarejestrowanych wcześniej.
  5. Podaj poświadczenia bazy danych dla wszystkich baz danych, które są wyświetlane jako niedostępne. Te bazy danych muszą być dostępne z nowego komputera, na którym jest zainstalowany agent.

Jak usunąć bazę danych metadanych synchronizacji, jeśli agent synchronizacji jest nadal z nią skojarzony

Aby usunąć bazę danych metadanych synchronizacji, z którą jest skojarzony agent synchronizacji, należy najpierw usunąć agenta synchronizacji. Aby usunąć agenta, wykonaj następujące czynności:

  1. Wybierz bazę danych synchronizacji.
  2. Przejdź do strony Synchronizacja z innymi bazami danych .
  3. Wybierz agenta synchronizacji i wybierz pozycję Usuń.

Rozwiązywanie problemów z agentem usługi Data Sync

Instalacja, odinstalowanie lub naprawa agenta klienta kończy się niepowodzeniem

  • Przyczyna. Wiele scenariuszy może spowodować ten błąd. Aby określić konkretną przyczynę tego błędu, zapoznaj się z dziennikami.

  • Rozwiązanie. Aby znaleźć konkretną przyczynę awarii, wygeneruj dzienniki Instalatora Windows i zapoznaj się z tym. Możesz włączyć rejestrowanie w wierszu polecenia. Jeśli na przykład pobrany plik instalacyjny to SQLDataSyncAgent-2.0-x86-ENU.msi, wygeneruj i zbadaj pliki dziennika przy użyciu następujących wierszy polecenia:

    • W przypadku instalacji: msiexec.exe /i SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log

    • W przypadku odinstalowywania: msiexec.exe /x SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log

      Można również włączyć rejestrowanie dla wszystkich instalacji wykonywanych przez Instalatora Windows. Artykuł Bazy wiedzy Microsoft Knowledge Base Jak włączyć rejestrowanie Instalatora Windows zawiera jedno kliknięcie rozwiązania umożliwiające włączenie rejestrowania dla Instalatora Windows. Udostępnia również lokalizację dzienników.

Agent klienta nie działa po anulowaniu odinstalowania

Agent klienta nie działa, nawet po anulowaniu jego odinstalowania.

  • Przyczyna. Dzieje się tak, ponieważ agent klienta usługi SQL Data Sync nie przechowuje poświadczeń.

  • Rozwiązanie. Możesz wypróbować te dwa rozwiązania:

    • Użyj pliku services.msc, aby ponownie wymyślić poświadczenia agenta klienta.
    • Odinstaluj tego agenta klienta, a następnie zainstaluj nowy. Pobierz i zainstaluj najnowszego agenta klienta z Centrum pobierania.

Moja baza danych nie znajduje się na liście agentów

Podczas próby dodania istniejącej bazy danych programu SQL Server do grupy synchronizacji baza danych nie jest wyświetlana na liście agentów.

Te scenariusze mogą powodować ten problem:

  • Przyczyna. Agent klienta i grupa synchronizacji znajdują się w różnych centrach danych.

  • Rozwiązanie. Agent klienta i grupa synchronizacji muszą znajdować się w tym samym centrum danych. Aby to skonfigurować, masz dwie opcje:

    • Utwórz nowego agenta w centrum danych, w którym znajduje się grupa synchronizacji. Następnie zarejestruj bazę danych za pomocą tego agenta.
    • Usuń bieżącą grupę synchronizacji. Następnie ponownie utwórz grupę synchronizacji w centrum danych, w którym znajduje się agent.
  • Przyczyna. Lista baz danych agenta klienta nie jest aktualna.

  • Rozwiązanie. Zatrzymaj, a następnie uruchom ponownie usługę agenta klienta.

    Agent lokalny pobiera listę skojarzonych baz danych tylko przy pierwszym przesłaniu klucza agenta. Nie pobiera listy skojarzonych baz danych w kolejnych przesłanych kluczach agenta. Bazy danych zarejestrowane podczas przenoszenia agenta nie są wyświetlane w oryginalnym wystąpieniu agenta.

Agent klienta nie jest uruchomiony (błąd 1069)

Dowiesz się, że agent nie jest uruchomiony na komputerze hostujący program SQL Server. Podczas próby ręcznego uruchomienia agenta zostanie wyświetlone okno dialogowe z komunikatem "Błąd 1069: Usługa nie została uruchomiona z powodu niepowodzenia logowania".

Data Sync error 1069 dialog box

  • Przyczyna. Prawdopodobną przyczyną tego błędu jest to, że hasło na serwerze lokalnym uległo zmianie od czasu utworzenia agenta i hasła agenta.

  • Rozwiązanie. Zaktualizuj hasło agenta do bieżącego hasła serwera:

    1. Znajdź usługę agenta klienta usługi SQL Data Sync.
      a. Wybierz Start.
      b. W polu wyszukiwania wprowadź ciąg services.msc.
      c. W wynikach wyszukiwania wybierz pozycję Usługi.
      d. W oknie Usługi przewiń do wpisu agenta usługi SQL Data Sync.
    2. Kliknij prawym przyciskiem myszy pozycję Sql Data Sync Agent, a następnie wybierz polecenie Zatrzymaj.
    3. Kliknij prawym przyciskiem myszy pozycję Sql Data Sync Agent, a następnie wybierz polecenie Właściwości.
    4. Na właściwości agenta usługi SQL Data Sync wybierz kartę Zaloguj .
    5. W polu Hasło wprowadź hasło.
    6. W polu Potwierdź hasło wprowadź ponownie hasło.
    7. Wybierz pozycję Apply (Zastosuj), a następnie wybierz przycisk OK.
    8. W oknie Usługi kliknij prawym przyciskiem myszy usługę agenta synchronizacji danych SQL, a następnie wybierz polecenie Uruchom.
    9. Zamknij okno Usługi.

Nie mogę przesłać klucza agenta

Po utworzeniu lub ponownym utworzeniu klucza dla agenta spróbujesz przesłać klucz za pośrednictwem aplikacji SqlAzureDataSyncAgent. Nie można ukończyć przesyłania.

Sync Error dialog box - Can't submit agent key

  • Wymagania wstępne . Przed kontynuowaniem sprawdź następujące wymagania wstępne:

    • Usługa SQL Data Sync systemu Windows jest uruchomiona.

    • Konto usługi dla usługi SQL Data Sync systemu Windows ma dostęp do sieci.

    • Port wychodzący 1433 jest otwarty w lokalnej regule zapory.

    • Lokalny adres IP jest dodawany do reguły zapory serwera lub bazy danych dla bazy danych metadanych synchronizacji.

  • Przyczyna. Klucz agenta jednoznacznie identyfikuje każdego agenta lokalnego. Klucz musi spełniać dwa warunki:

    • Klucz agenta klienta na serwerze sql Data Sync i komputerze lokalnym muszą być identyczne.
    • Klucz agenta klienta może być używany tylko raz.
  • Rozwiązanie. Jeśli agent nie działa, jest to spowodowane tym, że jeden lub oba te warunki nie są spełnione. Aby ponownie pracować agenta:

    1. Wygeneruj nowy klucz.
    2. Zastosuj nowy klucz do agenta.

    Aby zastosować nowy klucz do agenta:

    1. W Eksploratorze plików przejdź do katalogu instalacyjnego agenta. Domyślny katalog instalacyjny to C:\Program Files (x86)\Microsoft SQL Data Sync.
    2. Kliknij dwukrotnie podkatalog bin.
    3. Otwórz aplikację SqlAzureDataSyncAgent.
    4. Wybierz pozycję Prześlij klucz agenta.
    5. W podanym miejscu wklej klucz ze schowka.
    6. Kliknij przycisk OK.
    7. Zamknij program.

Nie można usunąć agenta klienta z portalu, jeśli skojarzona z nią lokalna baza danych nie jest osiągalna

Jeśli lokalny punkt końcowy (czyli baza danych) zarejestrowany w agencie klienta usługi SQL Data Sync staje się niedostępny, nie można usunąć agenta klienta.

  • Przyczyna. Nie można usunąć agenta lokalnego, ponieważ niemożliwa do osiągnięcia baza danych jest nadal zarejestrowana w agencie. Podczas próby usunięcia agenta proces usuwania próbuje uzyskać dostęp do bazy danych, co kończy się niepowodzeniem.

  • Rozwiązanie. Użyj polecenia "force delete", aby usunąć niemożliwą do osiągnięcia bazę danych.

Uwaga

Jeśli tabele metadanych synchronizacji pozostaną po "wymuszonym usunięciu", użyj polecenia deprovisioningutil.exe , aby je wyczyścić.

Aplikacja agenta synchronizacji lokalnej nie może nawiązać połączenia z lokalną usługą synchronizacji

  • Rozwiązanie. Spróbuj wykonać następujące kroki:

    1. Zamknij aplikację.
    2. Otwórz Panel usług składowych.
      a. W polu wyszukiwania na pasku zadań wprowadź ciąg services.msc.
      b. W wynikach wyszukiwania kliknij dwukrotnie pozycję Usługi.
    3. Zatrzymaj usługę SQL Data Sync .
    4. Uruchom ponownie usługę SQL Data Sync .
    5. Otwórz ponownie tę aplikację.

Uruchamianie agenta synchronizacji danych z wiersza polecenia

W wierszu polecenia można uruchomić następujące polecenia agenta synchronizacji danych:

Wyślij polecenie ping do usługi

Użycie

SqlDataSyncAgentCommand.exe -action pingsyncservice

Przykład

SqlDataSyncAgentCommand.exe -action "pingsyncservice"

Wyświetlanie zarejestrowanych baz danych

Użycie

SqlDataSyncAgentCommand.exe -action displayregistereddatabases

Przykład

SqlDataSyncAgentCommand.exe -action "displayregistereddatabases"

Przesyłanie klucza agenta

Użycie

Usage: SqlDataSyncAgentCommand.exe -action submitagentkey -agentkey [agent key]  -username [user name] -password [password]

Przykład

SqlDataSyncAgentCommand.exe -action submitagentkey -agentkey [agent key generated from portal, PowerShell, or API] -username [user name to sync metadata database] -password [user name to sync metadata database]

Rejestrowanie bazy danych

Użycie

SqlDataSyncAgentCommand.exe -action registerdatabase -servername [on-premisesdatabase server name] -databasename [on-premisesdatabase name]  -username [domain\\username] -password [password] -authentication [sql or windows] -encryption [true or false]

Przykłady

SqlDataSyncAgentCommand.exe -action "registerdatabase" -serverName localhost -databaseName testdb -authentication sql -username <user name> -password <password> -encryption true

SqlDataSyncAgentCommand.exe -action "registerdatabase" -serverName localhost -databaseName testdb -authentication windows -encryption true

Wyrejestrowywanie bazy danych

Gdy używasz tego polecenia do wyrejestrowania bazy danych, całkowicie anuluje aprowizowanie bazy danych. Jeśli baza danych uczestniczy w innych grupach synchronizacji, ta operacja spowoduje przerwanie innych grup synchronizacji.

Użycie

SqlDataSyncAgentCommand.exe -action unregisterdatabase -servername [on-premisesdatabase server name] -databasename [on-premisesdatabase name]

Przykład

SqlDataSyncAgentCommand.exe -action "unregisterdatabase" -serverName localhost -databaseName testdb

Aktualizowanie poświadczeń

Użycie

SqlDataSyncAgentCommand.exe -action updatecredential -servername [on-premisesdatabase server name] -databasename [on-premisesdatabase name]  -username [domain\\username] -password [password] -authentication [sql or windows] -encryption [true or false]

Przykłady

SqlDataSyncAgentCommand.exe -action "updatecredential" -serverName localhost -databaseName testdb -authentication sql -username <user name> -password <password> -encryption true

SqlDataSyncAgentCommand.exe -action "updatecredential" -serverName localhost -databaseName testdb -authentication windows -encryption true

Następne kroki

Aby uzyskać więcej informacji na temat usługi SQL Data Sync, zobacz następujące artykuły: