Udostępnij za pośrednictwem


Agent synchronizacji danych dla usługi SQL Data Sync

Dotyczy: Azure SQL Database

Ważne

Usługa SQL Data Sync zostanie wycofana 30 września 2027 r. Rozważ migrację do alternatywnych rozwiązań replikacji/synchronizacji danych.

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 Co to jest usługa SQL Data Sync dla platformy Azure?

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

Pobierz i zainstaluj

Uwaga

Rozważ migrację do alternatywnych rozwiązań replikacji/synchronizacji danych.

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 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 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 mogę 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 mogę 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 mogę przenieść agenta klienta na inny komputer

Jeśli chcesz uruchomić agenta lokalnego z innego komputera niż obecnie, i ponownie użyć tego samego agenta, 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 istniejącego agenta.
  3. Użyj interfejsu użytkownika nowego agenta, aby przesłać 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 mogę 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 Data Sync Agent

Instalacja, dezinstalacja 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ę błędu, wygeneruj i przejrzyj dzienniki Instalatora Windows. Rejestrowanie można włączyć 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 dezinstalacji: 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 rozwiązanie jednym kliknięciem umożliwiające włączenie rejestrowania dla Instalatora Windows. Udostępnia również lokalizację dzienników.

Agent klienta nie działa po anulowaniu dezinstalacji

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

  • 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 wprowadzić poświadczenia agenta klienta.
    • Odinstaluj tego agenta klienta, a następnie zainstaluj nowego. 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 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ć, dostępne są dwie opcje:

    • Utwórz nowego agenta w centrum danych, gdzie znajduje się grupa synchronizacji. Następnie zarejestruj bazę danych za pomocą tego agenta.
    • Usuń utwórz bieżącą grupę synchronizacji. Następnie ponownie utwórz grupę synchronizacji w centrum danych, gdzie 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 to listy skojarzonych baz danych przy kolejnych przesłaniach klucza agenta. Bazy danych zarejestrowane podczas przenoszenia agenta nie są wyświetlane w oryginalnym wystąpieniu agenta.

Agent klienta nie uruchamia się (błąd 1069)

Wykryto, że agent nie jest uruchomiony na komputerze, który hostuje 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 błędu logowania”.

Zrzut ekranu przedstawiający okno dialogowe Błąd synchronizacji danych 1069.

  • 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 SQL Data Sync.
      a. Wybierz pozycję Uruchom.
      b. W polu wyszukiwania wprowadź 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. W obszarze Właściwości agenta SQL Data Sync Agent 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ę SQL Data Sync Agent, 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óbuj przesłać klucz za pośrednictwem aplikacji SqlAzureDataSyncAgent. Nie można ukończyć przesyłania.

Zrzut ekranu przedstawiający okno dialogowe Błąd synchronizacji — nie można przesłać klucza agenta.

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

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

    • Konto usługi dla usługi systemu Windows SQL Data Sync 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 zapewnić działanie agenta:

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

    Aby zastosować nowy klucz do agenta:

    1. W Eksplorator 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. Wybierz przycisk OK.
    7. Zamknij program.

Nie można usunąć agenta klienta z portalu, jeśli skojarzona z nim lokalna baza danych jest niedostępna

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 klienta 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ładników.
      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

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