Прочитать на английском

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


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

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

Важно!

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

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

SQL Data Sync не поддерживает Управляемый экземпляр Azure SQL или 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 Server

Только следующие версии локальной среды SQL Server могут быть частью группы синхронизации:

  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012
  • SQL Server 2016
  • SQL Server 2017 на Windows
  • SQL Server 2019 в Windows
  • SQL Server 2022 в Windows

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

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

Служба синхронизации данных 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, которая предлагает простое решение в один клик для включения ведения журнала установщика Windows. В ней также описано расположение этих журналов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    1. Найдите службу агента клиента синхронизации данных SQL.
      a. Щелкните Запуск.
      b. В поле поиска введите services.msc.
      с. В результатах поиска щелкните Службы.
      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. Откройте Проводник Windows и перейдите в папку установки вашего агента. Каталог установки по умолчанию — 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 см. в следующих статьях:


Дополнительные ресурсы

Документация

Обучение

Модуль

Реализация Azure Synapse Link для SQL - Training

Реализация Azure Synapse Link для SQL

Сертификация

Microsoft Certified: Azure Database Administrator Associate (Сертификация Майкрософт. Помощник Администратора баз данных Azure) - Certifications

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