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:
- Zainstaluj agenta na żądanym komputerze.
- Zaloguj się do portalu usługi SQL Data Sync i ponownie wygeneruj klucz agenta dla istniejącego agenta.
- Użyj interfejsu użytkownika nowego agenta, aby przesłać klucz agenta.
- Zaczekaj, aż agent klienta pobierze listę lokalnych baz danych zarejestrowanych wcześniej.
- 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:
- Wybierz bazę danych synchronizacji.
- Przejdź do strony Synchronizacja z innymi bazami danych .
- 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”.
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:
- 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. - Kliknij prawym przyciskiem myszy pozycję SQL Data Sync Agent, a następnie wybierz polecenie Zatrzymaj.
- Kliknij prawym przyciskiem myszy pozycję SQL Data Sync Agent, a następnie wybierz polecenie Właściwości.
- W obszarze Właściwości agenta SQL Data Sync Agent wybierz kartę Zaloguj.
- W polu Hasło wprowadź hasło.
- W polu Potwierdź hasło wprowadź ponownie hasło.
- Wybierz pozycję Apply (Zastosuj), a następnie wybierz przycisk OK.
- W oknie Usługi kliknij prawym przyciskiem myszy usługę SQL Data Sync Agent, a następnie wybierz polecenie Uruchom.
- Zamknij okno Usługi.
- Znajdź usługę agenta klienta SQL Data Sync.
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.
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:
- Wygeneruj nowy klucz.
- Zastosuj nowy klucz do agenta.
Aby zastosować nowy klucz do agenta:
- W Eksplorator plików przejdź do katalogu instalacyjnego agenta. Domyślny katalog instalacyjny to C:\Program Files (x86)\Microsoft SQL Data Sync.
- Kliknij dwukrotnie podkatalog bin.
- Otwórz aplikację SqlAzureDataSyncAgent.
- Wybierz pozycję Prześlij klucz agenta.
- W podanym miejscu wklej klucz ze schowka.
- Wybierz przycisk OK.
- 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:
- Zamknij aplikację.
- 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. - Zatrzymaj usługę SQL Data Sync.
- Uruchom ponownie usługę SQL Data Sync.
- 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
Powiązana zawartość
Aby uzyskać więcej informacji na temat usługi SQL Data Sync, zobacz następujące artykuły:
- Omówienie — synchronizowanie danych w wielu chmurach i lokalnych bazach danych za pomocą usługi SQL Data Sync na platformie Azure
- Konfigurowanie usługi Data Sync
- W portalu — samouczek: konfigurowanie usługi SQL Data Sync w celu synchronizowania danych między usługą Azure SQL Database i programem SQL Server
- Za pomocą programu PowerShell
- Najlepsze rozwiązania — Best practices for Azure SQL Data Sync (Najlepsze rozwiązania dotyczące korzystania z usługi Azure SQL Data Sync)
- Monitorowanie — monitorowanie usługi SQL Data Sync za pomocą dzienników usługi Azure Monitor
- Rozwiązywanie problemów — Troubleshoot issues with Azure SQL Data Sync (Rozwiązywanie problemów z usługą Azure SQL Data Sync)
- Aktualizowanie schematu synchronizacji
- Za pomocą języka Transact-SQL — automatyzowanie replikacji zmian schematu za pomocą usługi SQL Data Sync na platformie Azure
- Używanie programu PowerShell — Używanie programu PowerShell do zaktualizowania schematu synchronizacji w istniejącej grupie synchronizacji