Sdílet prostřednictvím


Agent synchronizace dat pro synchronizaci dat SQL

Platí pro:Azure SQL Database

Synchronizace dat s databázemi SQL Serveru instalací a konfigurací agenta synchronizace dat pro synchronizaci dat SQL v Azure Další informace o synchronizaci dat SQL najdete v tématu Synchronizace dat napříč několika cloudovými a místními databázemi pomocí synchronizace dat SQL.

Důležité

Synchronizace dat SQL v tuto chvíli nepodporuje službu Azure SQL Managed Instance ani Azure Synapse Analytics.

Stažení a instalace

Pokud chcete stáhnout agenta synchronizace dat, přejděte do agenta synchronizace dat SQL. Pokud chcete upgradovat agenta synchronizace dat, nainstalujte agenta do stejného umístění jako původní agent a přepíše původní.

Bezobslužná instalace

Pokud chcete z příkazového řádku nainstalovat agenta synchronizace dat bezobslužně, zadejte příkaz podobný následujícímu příkladu. Zkontrolujte název staženého souboru .msi a zadejte vlastní hodnoty pro argumenty TARGETDIR a SERVICEACCOUNT .

  • Pokud nezadáte hodnotu pro TARGETDIR, výchozí hodnota je C:\Program Files (x86)\Microsoft SQL Data Sync 2.0.

  • Pokud zadáte LocalSystem hodnotu SERVICEACCOUNT, při konfiguraci agenta pro připojení k SQL Serveru použijte ověřování SQL Serveru.

  • Pokud jako hodnotu SERVICEACCOUNT zadáte uživatelský účet domény nebo místní uživatelský účet, musíte také zadat heslo s argumentem SERVICEPASSWORD . Například 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

Synchronizace dat s databází SQL Serveru

Pokud chcete nakonfigurovat agenta synchronizace dat, abyste mohli synchronizovat data s jednou nebo více databázemi SQL Serveru, přečtěte si téma Přidání databáze SQL Serveru.

Nejčastější dotazy k agentu synchronizace dat

Proč potřebuji agenta klienta

Služba SYNCHRONIZACE dat SQL komunikuje s databázemi SQL Serveru prostřednictvím klientského agenta. Tato funkce zabezpečení brání přímé komunikaci s databázemi za bránou firewall. Když služba SYNCHRONIZACE dat SQL komunikuje s agentem, provede to pomocí šifrovaných připojení a jedinečného tokenu nebo klíče agenta. Databáze SQL Serveru ověřují agenta pomocí připojovacího řetězce a klíče agenta. Tento návrh poskytuje vysokou úroveň zabezpečení vašich dat.

Kolik instancí místního uživatelského rozhraní agenta je možné spustit

Spustit lze pouze jednu instanci uživatelského rozhraní.

Jak můžu změnit účet služby

Po instalaci klientského agenta je jediným způsobem, jak změnit účet služby, odinstalovat ho a nainstalovat nového klientského agenta s novým účtem služby.

Jak změním klíč agenta

Klíč agenta může používat jenom jednou. Když odeberete nový agent, nebude možné ho znovu použít, ani ho nebude moct používat více agentů. Pokud potřebujete vytvořit nový klíč pro existujícího agenta, musíte mít jistotu, že se stejný klíč zaznamená s klientským agentem a se službou SYNCHRONIZACE dat SQL.

Jak vyřadit klientského agenta

Pokud chcete okamžitě zneplatnit nebo vyřadit agenta, znovu vygenerujte jeho klíč na portálu, ale neodesílejte ho v uživatelském rozhraní agenta. Opětovné vygenerování klíče zneplatní předchozí klíč bez ohledu na to, jestli je odpovídající agent online nebo offline.

Jak přesunu klientského agenta do jiného počítače

Pokud chcete spustit místního agenta z jiného počítače, než je aktuálně zapnutý, postupujte takto:

  1. Nainstalujte agenta do požadovaného počítače.
  2. Přihlaste se k portálu SYNCHRONIZACE dat SQL a znovu vygenerujte klíč agenta pro nového agenta.
  3. Pomocí uživatelského rozhraní nového agenta odešlete nový klíč agenta.
  4. Počkejte, než klientský agent stáhne seznam místních databází, které byly zaregistrovány dříve.
  5. Zadejte přihlašovací údaje databáze pro všechny databáze, které se zobrazují jako nedostupné. Tyto databáze musí být dostupné z nového počítače, na kterém je agent nainstalovaný.

Jak odstraním databázi metadat synchronizace, pokud je k ní stále přidružený agent synchronizace

Pokud chcete odstranit databázi metadat synchronizace s přidruženým agentem synchronizace, musíte nejprve odstranit agenta synchronizace. Pokud chcete agenta odstranit, postupujte takto:

  1. Vyberte databázi Synchronizace.
  2. Přejděte na stránku Synchronizovat s jinými databázemi .
  3. Vyberte agenta synchronizace a vyberte Odstranit.

Řešení potíží s agentem synchronizace dat

Selhání instalace, odinstalace nebo opravy klientského agenta

  • Příčina. K této chybě může dojít v mnoha scénářích. Pokud chcete zjistit konkrétní příčinu tohoto selhání, projděte si protokoly.

  • Řešení. Pokud chcete zjistit konkrétní příčinu selhání, vygenerujte a prohlédněte si protokoly Instalační služby systému Windows. Protokolování můžete zapnout na příkazovém řádku. Pokud je například stažený instalační soubor SQLDataSyncAgent-2.0-x86-ENU.msi, vygenerujte a prozkoumejte soubory protokolu pomocí následujících příkazů:

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

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

      Protokolování můžete zapnout také pro všechny instalace prováděné Instalační službou systému Windows. Článek Znalostní báze Microsoft Knowledge Base, jak povolit protokolování instalační služby systému Windows poskytuje jedno kliknutí řešení pro zapnutí protokolování instalační služby systému Windows. Poskytuje také umístění protokolů.

Po zrušení odinstalace nefunguje klientský agent.

Klientský agent nefunguje ani po zrušení jeho odinstalace.

  • Příčina. K tomu dochází, protože agent klienta synchronizace dat SQL neukládá přihlašovací údaje.

  • Řešení. Můžete vyzkoušet tato dvě řešení:

    • Pomocí services.msc znovu zadejte přihlašovací údaje pro klientského agenta.
    • Odinstalujte tohoto klientského agenta a pak nainstalujte nový. Stáhněte a nainstalujte nejnovějšího klientského agenta z webu Download Center.

Moje databáze není uvedená v seznamu agentů

Když se pokusíte přidat existující databázi SQL Serveru do skupiny synchronizace, databáze se nezobrazí v seznamu agentů.

Tento problém může způsobovat tyto scénáře:

  • Příčina. Klientský agent a skupina synchronizace jsou v různých datacentrech.

  • Řešení. Klientský agent a skupina synchronizace musí být ve stejném datacentru. Pokud chcete nastavit tuto možnost, máte dvě možnosti:

    • V datacentru, kde se nachází skupina synchronizace, vytvořte nového agenta. Pak zaregistrujte databázi s tímto agentem.
    • Odstraňte aktuální skupinu synchronizace. Potom znovu vytvořte skupinu synchronizace v datacentru, kde se agent nachází.
  • Příčina. Seznam databází klientského agenta není aktuální.

  • Řešení. Zastavte a restartujte službu klientského agenta.

    Místní agent stáhne seznam přidružených databází pouze při prvním odeslání klíče agenta. Nestahuje seznam přidružených databází při následných odesláních klíčů agenta. Databáze zaregistrované během přesunu agenta se v původní instanci agenta nezobrazují.

Klientský agent se nespustí (chyba 1069)

Zjistíte, že agent není spuštěný na počítači, který je hostitelem SQL Serveru. Když se pokusíte agenta spustit ručně, zobrazí se dialogové okno se zprávou Chyba 1069: Služba se nespustí kvůli selhání přihlášení.

Data Sync error 1069 dialog box

  • Příčina. Pravděpodobnou příčinou této chyby je, že se heslo na místním serveru od vytvoření agenta a hesla agenta změnilo.

  • Řešení. Aktualizujte heslo agenta na aktuální heslo serveru:

    1. Vyhledejte službu klientského agenta synchronizace dat SQL.
      a. Vyberte Spustit.
      b. Do vyhledávacího pole zadejte services.msc.
      c. Ve výsledcích hledání vyberte Služby.
      d. V okně Služby se posuňte k položce agenta synchronizace dat SQL.
    2. Klikněte pravým tlačítkem myši na agenta synchronizace dat SQL a pak vyberte Zastavit.
    3. Klikněte pravým tlačítkem myši na agenta synchronizace dat SQL a pak vyberte Vlastnosti.
    4. Ve vlastnostech agenta synchronizace dat SQL vyberte kartu Přihlášení .
    5. Do pole Heslo zadejte heslo.
    6. Do pole Potvrdit heslo zadejte znovu heslo.
    7. Zvolte Použít a pak vyberte OK.
    8. V okně Služby klikněte pravým tlačítkem na službu agenta synchronizace dat SQL a pak vyberte Spustit.
    9. Zavřete okno Služby.

Nemůžu odeslat klíč agenta

Po vytvoření nebo opětovném vytvoření klíče pro agenta se pokusíte klíč odeslat prostřednictvím aplikace SqlAzureDataSyncAgent. Odeslání se nepovedlo dokončit.

Sync Error dialog box - Can't submit agent key

  • Požadavky Než budete pokračovat, zkontrolujte následující požadavky:

    • Je spuštěná služba Synchronizace dat SQL.

    • Účet služby pro službu Synchronizace dat SQL má přístup k síti.

    • Odchozí port 1433 je otevřený v místním pravidlu brány firewall.

    • Místní IP adresa se přidá do pravidla brány firewall serveru nebo databáze pro databázi metadat synchronizace.

  • Příčina. Klíč agenta jednoznačně identifikuje každého místního agenta. Klíč musí splňovat dvě podmínky:

    • Klíč klientského agenta na serveru synchronizace dat SQL a místní počítač musí být shodný.
    • Klíč klientského agenta lze použít pouze jednou.
  • Řešení. Pokud váš agent nefunguje, je to proto, že jedna nebo obě tyto podmínky nejsou splněné. Pokud chcete agenta znovu zpracovat:

    1. Vygenerujte nový klíč.
    2. Použijte nový klíč pro agenta.

    Použití nového klíče pro agenta:

    1. V Průzkumníku souborů přejděte do instalačního adresáře agenta. Výchozí instalační adresář je C:\Program Files (x86)\Microsoft SQL Data Sync.
    2. Poklikejte na podadresář přihrádky.
    3. Otevřete aplikaci SqlAzureDataSyncAgent.
    4. Vyberte Odeslat klíč agenta.
    5. Do zadaného místa vložte klíč ze schránky.
    6. Vyberte OK.
    7. Zavřete program.

Klientský agent nejde z portálu odstranit, pokud není dostupná jeho přidružená místní databáze.

Pokud je místní koncový bod (tj. databáze), která je zaregistrovaná u klientského agenta synchronizace dat SQL, nedostupný, klientský agent se nedá odstranit.

  • Příčina. Místní agenta nejde odstranit, protože nedostupná databáze je stále zaregistrovaná u agenta. Při pokusu o odstranění agenta se proces odstranění pokusí připojit k databázi, která selže.

  • Řešení. K odstranění nedostupné databáze použijte příkaz "force delete".

Poznámka:

Pokud tabulky metadat synchronizace zůstanou po vynucení odstranění, použijte deprovisioningutil.exe je k vyčištění.

Aplikace agenta místní synchronizace se nemůže připojit k místní synchronizační službě

  • Řešení. Vyzkoušejte následující kroky:

    1. Ukončete aplikaci.
    2. Otevřete panel Služeb komponent.
      a. Do vyhledávacího pole na hlavním panelu zadejte services.msc.
      b. Ve výsledcích hledání poklikejte na Služby.
    3. Zastavte službu Synchronizace dat SQL.
    4. Restartujte službu Synchronizace dat SQL.
    5. Znovu tuto aplikaci otevřít.

Spuštění agenta synchronizace dat z příkazového řádku

Z příkazového řádku můžete spustit následující příkazy agenta synchronizace dat:

Příkaz ping služby

Využití

SqlDataSyncAgentCommand.exe -action pingsyncservice

Příklad

SqlDataSyncAgentCommand.exe -action "pingsyncservice"

Zobrazení registrovaných databází

Využití

SqlDataSyncAgentCommand.exe -action displayregistereddatabases

Příklad

SqlDataSyncAgentCommand.exe -action "displayregistereddatabases"

Odeslání klíče agenta

Využití

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

Příklad

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]

Registrace databáze

Využití

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]

Příklady

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

Zrušení registrace databáze

Když tento příkaz použijete k zrušení registrace databáze, zruší se zřízení databáze úplně. Pokud se databáze účastní jiných skupin synchronizace, tato operace přeruší ostatní skupiny synchronizace.

Využití

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

Příklad

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

Aktualizace přihlašovacích údajů

Využití

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]

Příklady

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

Další kroky

Další informace o synchronizaci dat SQL najdete v následujících článcích: