Поделиться через


Сведения об агенте синхронизации данных для синхронизации данных SQL.

Применимо к: База данных SQL Azure

Внимание

Синхронизация данных SQL будет прекращено 30 сентября 2027 года. Рассмотрите возможность миграции в альтернативные решения для репликации и синхронизации данных.

Синхронизируйте данные с базами данных SQL Server с помощью установки и настройки Агента синхронизации данных для синхронизации данных SQL в Azure. Дополнительные сведения о Синхронизация данных SQL см. в статье "Что такое Синхронизация данных SQL для Azure?

Синхронизация данных SQL не поддерживает Управляемый экземпляр SQL Azure или Azure Synapse Analytics.

Загрузка и установка

Внимание

Рассмотрите возможность миграции в альтернативные решения для репликации и синхронизации данных.

Чтобы загрузить Data Sync Agent, перейдите в раздел SQL Data Sync Agent. Чтобы обновить агент синхронизации данных, установите агент в том же расположении, что и старый агент, и переопределит исходный.

Установка в автоматическом режиме

Чтобы установить Агент синхронизации данных в автоматическом режиме с командной строки, введите команду, аналогичную примеру. Проверьте имя скачанного файла .msi и предоставьте ваши значения для аргументов TARGETDIR и SERVICEACCOUNT.

  • Если не указать значение для TARGETDIR, C:\Program Files (x86)\Microsoft SQL Data Sync 2.0 будет значением по умолчанию.

  • Если указать LocalSystem в качестве параметра SERVICEACCOUNT, используйте проверку подлинности SQL Server при настройке агента для подключения к экземпляру SQL Server.

  • Если указать учетную запись пользователя домена или учетную запись локального пользователя в качестве параметра SERVICEACCOUNT, необходимо также указать пароль в аргументе SERVICEPASSWORD. Например, 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

Синхронизация данных с базой данных SQL Server

Сведения о настройке агента синхронизации данных для синхронизации данных с одной или несколькими SQL Server базами данных см. в разделе Добавление базы данных SQL Server.

Часто задаваемые вопросы об Агенте синхронизации данных

Зачем нужен агент клиента?

Служба синхронизации данных SQL взаимодействует с базами данных SQL Server через агент клиента. Эта функция безопасности избавляет от необходимости поддерживать прямую связь с базами данных, которые защищены брандмауэром. Когда служба синхронизации данных SQL обменивается данными с агентом, используется шифрование соединения и уникальный маркер (ключ агента). Базы данных SQL Server выполняют аутентификацию агента по строке подключения и ключу агента. Такой подход обеспечивает высокий уровень безопасности для ваших данных.

Сколько можно запустить экземпляров локального агента пользовательского интерфейса?

Вы можете запустить только один экземпляр пользовательского интерфейса.

Как изменить учетную запись службы?

После установки агента клиента есть только один способ изменить учетную запись службы: нужно ее удалить и заново установить агент клиента с новой учетной записью.

Как изменить ключ агента?

Каждый ключ агента можно использовать для агента только один раз. Его нельзя использовать повторно, если вы удалите агент и установите его заново, а также нельзя применять для нескольких агентов. Если вам нужно создать новый ключ для существующего агента, следите за тем, чтобы в агенте клиента и в службе синхронизации данных SQL был указан один и тот же ключ.

Как отключить агент клиента?

Чтобы немедленно отключить агент (запретить его использование), повторно создайте для него ключ на портале, но не передавайте этот ключ в пользовательский интерфейс агента. При повторном создании ключа нельзя использовать предыдущий, независимо от наличия связи с соответствующим агентом.

Как перенести агент клиента на другой компьютер?

Если вы хотите запустить локальный агент с другого компьютера, отличного от текущего, и повторно использовать тот же агент, выполните следующие действия.

  1. Установите агент на новом компьютере.
  2. Войдите на портал Синхронизация данных SQL и повторно создайте ключ агента для существующего агента.
  3. Используйте пользовательский интерфейс нового агента для отправки ключа агента.
  4. Подождите, пока агент клиента скачает список локальных баз данных, которые уже зарегистрированы в системе.
  5. Предоставьте учетные данные для подключение ко всем базам данных, которые отмечены как недоступные. Теперь эти базы данных должны стать доступными с нового компьютера, на котором вы установили агент.

Удаление базы метаданных синхронизации, если с ней по-прежнему связан агент синхронизации

Чтобы удалить базу метаданных синхронизации, с которой связан агент синхронизации, необходимо сначала удалить агент синхронизации. Чтобы удалить агент, выполните следующее.

  1. Выберите базу данных синхронизации.
  2. Перейдите на страницу Синхронизация с другими базами данных.
  3. Выберите агент синхронизации и нажмите кнопку "Удалить".

Устранение неполадок Агента синхронизации данных

Установка, удаление или восстановление агента клиента завершается ошибкой

  • Причина. Этот сбой может произойти во множестве случаев. Чтобы определить конкретную причину этого сбоя, просмотрите журналы.

  • Способы устранения. Чтобы найти конкретную причину сбоя, следует создать и просмотреть журналы установщика Windows. Включить ведение журнала можно с помощью командной строки. Например, если SQLDataSyncAgent-2.0-x86-ENU.msi — это скачанный файл установки, создайте и изучите файлы журналов, используя следующие команды:

    • Для установки: msiexec.exe /i SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log

    • Для удаления: msiexec.exe /x SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log

      Вы также можете включить ведение журнала для всех установок, выполняемых установщиком Windows. Дополнительные сведения см. в статье базы знаний Майкрософт Как включить ведение журнала работы установщика Windows. В ней также описано расположение этих журналов.

Агент клиента не работает после отмены удаления

Агент клиента не работает, даже если вы отменили его удаление.

  • Причина. Эта проблема возникает из-за того, что агент клиента синхронизации данных SQL не хранит учетные данные.

  • Способы устранения. Попробуйте применить следующие два способа:

    • Используйте services.msc для повторного ввода учетных данных агента клиента.
    • Удалите этот агент клиента и установите его заново. Скачайте и установите последний агент клиента из центра загрузки.

В списке агента отсутствует моя база данных

При попытке добавить существующую базу данных SQL Server в группу синхронизации база данных не отображается в списке агентов.

Этот сбой может произойти в следующих случаях:

  • Причина. Агент клиента и группа синхронизации находятся в разных центрах обработки данных.

  • Способы устранения. Агент клиента и группа синхронизации должны находиться в одном центре обработки данных. Чтобы обеспечить это, имеются две возможности:

    • Создайте новый агент в центре обработки данных, в котором находится группа синхронизации. Затем зарегистрируйте базу данных в этом агенте.
    • Удалите текущую группу синхронизации. Затем повторно создайте группу синхронизации в центре обработки данных, в котором находится агент.
  • Причина. Список баз данных агента клиента устарел.

  • Способы устранения. Остановите и перезапустите службу агента клиента.

    Локальный агент скачивает список связанных баз данных только при первой отправке ключа агента. Он не скачивает список связанных баз данных при последующих отправках ключа агента. Базы данных, зарегистрированные во время перемещения агента, не отображаются в исходном экземпляре агента.

Агент клиента не запускается (ошибка 1069)

Вы обнаружили, что агент не работает на компьютере, на котором размещен сервер SQL Server. При попытке запустить агент вручную отображается диалоговое окно с сообщением об ошибке: "Ошибка 1069. Служба не запущена из-за ошибки входа в систему".

Снимок экрана: диалоговое окно об ошибке Синхронизация данных 1069.

  • Причина. Вероятной причиной этой ошибки является то, что пароль на локальном сервере изменился с момента создания агента и его пароля.

  • Способы устранения. Обновите пароль агента до текущего пароля сервера.

    1. Найдите службу агента клиента синхронизации данных SQL.
      a. Щелкните Запуск.
      b. В поле поиска введите services.msc.
      c. В результатах поиска щелкните Службы.
      d. В окне Службы прокрутите список до записи Агент синхронизации данных SQL.
    2. Щелкните правой кнопкой мыши Агент синхронизации данных SQL, а затем выберите Остановить.
    3. Щелкните правой кнопкой мыши Агент синхронизации данных SQL, а затем выберите Свойства.
    4. В окне Свойства агента синхронизации данных SQL щелкните вкладку Вход.
    5. Введите пароль в поле Пароль.
    6. Повторно введите пароль в поле Подтверждение пароля.
    7. Нажмите кнопку Apply (Применить), а затем нажмите кнопку ОК.
    8. В окне Службы щелкните правой кнопкой мыши службу SQL Data Sync Agent и выберите Запустить.
    9. Закройте окно Службы.

Я не могу отправить ключ агента

После создания или повторного создания ключа агента вы пытаетесь передать этот ключ через приложение SqlAzureDataSyncAgent. Но выполнить отправку не удается.

Снимок экрана: диалоговое окно

  • Предварительные требования. Прежде чем продолжить, обратите внимание на следующие условия:

    • Служба синхронизации данных SQL Windows запущена.

    • Учетная запись службы синхронизации данных SQL Windows имеет доступ к сети.

    • Исходящий порт 1433 открыт в локальном правиле брандмауэра.

    • Локальный IP-адрес добавляется к серверу или в правило брандмауэра базы данных для синхронизации базы данных метаданных.

  • Причина. Ключ агента уникально идентифицирует каждый локальный агент. Ключ должен соответствовать двум условиям:

    • Ключи агента клиента на сервере синхронизации данных SQL и локальном компьютере должны быть идентичными.
    • Ключ агента клиента можно использовать только один раз.
  • Способы устранения. Если агент не работает, это связано с тем, что одно или оба условия не выполняются. Чтобы агент снова заработал:

    1. Создайте ключ.
    2. Примените новый ключ к агенту.

    Примените новый ключ к агенту.

    1. Используйте проводник для перехода в каталог установки агента. Каталог установки по умолчанию — C:\Program Files (x86)\Microsoft SQL Data Sync.
    2. Дважды щелкните подкаталог bin.
    3. Откройте приложение SqlAzureDataSyncAgent.
    4. Щелкните Submit Agent Key (Отправить ключ агента).
    5. Вставьте ключ из буфера обмена в соответствующем поле.
    6. Нажмите ОК.
    7. Закройте программу.

Агент клиента не может быть удален с портала, если связанная с ним локальная база данных недоступна

Если локальная конечная точка (то есть база данных), которая зарегистрирована в агенте клиента синхронизации данных SQL, становится недоступной, агент клиента нельзя удалить.

  • Причина. Локальный агент не может быть удален, так как недоступная база данных все еще зарегистрирована в агенте. При попытке удалить агент процесс удаления пытается подключиться к базе данных, что приводит к ошибке.

  • Способы устранения. Используйте принудительное удаление, чтобы удалить недоступную базу данных.

Примечание.

Если таблицы метаданных синхронизации остаются после принудительного удаления, используйте deprovisioningutil.exe, чтобы очистить их.

Приложение локального агента синхронизации не может подключиться к локальной службе синхронизации

  • Способы устранения. Попробуйте сделать следующее.

    1. Выйдите из приложения.
    2. Откройте панель Службы компонентов.
      a. В поле поиска на панели задач введите services.msc.
      b. В результатах поиска дважды щелкните Службы.
    3. Остановите работу службы синхронизации данных SQL.
    4. Перезапустите службу синхронизации данных SQL.
    5. Повторно откройте приложение.

Запустите Агент синхронизации данных из командной строки

Вы можете запустить такие команды Агента синхронизации данных из командной строки:

Проверка связи со службой

Использование

SqlDataSyncAgentCommand.exe -action pingsyncservice

Пример

SqlDataSyncAgentCommand.exe -action "pingsyncservice"

Отображение зарегистрированных баз данных

Использование

SqlDataSyncAgentCommand.exe -action displayregistereddatabases

Пример

SqlDataSyncAgentCommand.exe -action "displayregistereddatabases"

Отправление ключа агента

Использование

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

Пример

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]

Регистрация базы данных

Использование

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]

Примеры

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

Отмена регистрации базы данных

При использовании этой команды для отмены регистрации базы данных, она полностью отзывает базу данных. Если база присутствует в других группах синхронизации, такая операция нарушит другие группы синхронизации.

Использование

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

Пример

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

Обновление учетных данных

Использование

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]

Примеры

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

Дополнительные сведения о Синхронизации данных SQL см. в следующих статьях: