Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: База данных SQL Azure
Внимание
SQL Синхронизация данных завершает работу 30 сентября 2027 года. Рассмотрите возможность миграции к альтернативным решениям для репликации и синхронизации данных. В рамках процесса вывода из эксплуатации нельзя создавать новые группы синхронизации в подписках Azure, которые ранее не использовали SQL Синхронизация данных. Существующие группы синхронизации могут продолжать работу до даты ухода, но до этой даты следует перенести их на альтернативное решение.
В этом руководстве показано, как настроить Синхронизацию данных SQL, создав группу синхронизации с экземплярами Базы данных SQL Azure и SQL Server. Группа синхронизации полностью настраивается и синхронизируется по заданному расписанию.
Для выполнения задач этого руководства требуется определенный опыт работы с Базой данных SQL и SQL Server.
Общие сведения о Синхронизация данных SQL см. в статье "Что такое Синхронизация данных SQL для Azure?"
Примеры PowerShell по настройке функции "Синхронизация данных SQL" см. в статьях Использование PowerShell для синхронизации данных между несколькими базами данных в Базе данных SQL Azure или между базами данных в Базе данных SQL Azure и SQL Server.
База данных концентратора — это центральная конечная точка топологии синхронизации, в которой группа синхронизации включает несколько конечных точек базы данных. Все остальные базы данных-члены с конечными точками в группе синхронизации синхронизируются с базой данных концентратора. Синхронизация данных SQL поддерживается только в База данных SQL Azure. База данных hub должна быть базой данных Azure SQL.
База данных Azure SQL уровня Hyperscale поддерживается только в качестве базы данных-участника, а не в качестве базы данных hub.
Создание группы синхронизации
Переход на портал Azure. Найдите и выберите базы данных SQL, чтобы найти существующую базу данных Azure SQL.
Выберите существующую базу данных, которую вы хотите использовать в качестве центральной базы данных для синхронизации данных.
В меню ресурсов базы данных SQL для выбранной базы данных в разделе "Управление данными" выберите "Синхронизация с другими базами данных".
На странице Синхронизировать с другими базами данных выберите Новая группа синхронизации. Откроется страница Создать группу синхронизации данных.
На странице «Создание группы синхронизации данных» настройте следующие параметры:
Setting Описание Имя группы синхронизации Введите имя для новой группы синхронизации. Это имя должно отличаться от имени самой базы данных. База данных для метаданных синхронизации Выберите создать базу данных (рекомендуется) или использовать существующую базу данных для использования в качестве базы данных метаданных синхронизации.
Корпорация Майкрософт рекомендует создать новую пустую базу данных для использования в качестве базы данных метаданных синхронизации. Служба синхронизации данных создает таблицы в этой базе данных и часто выполняет рабочую нагрузку. Эта база данных предоставляется в общий доступ как База данных для метаданных синхронизации всем группам синхронизации в выбранном регионе и подписке. Нельзя изменить базу данных или её имя, не удалив все группы синхронизации и агенты синхронизации в регионе.
Если вы решили создать новую базу данных, выберите "Создать базу данных". Выберите "Настройка параметров базы данных". На странице SQL Database задайте имя и настройте новую базу данных Azure SQL, а затем нажмите OK.
Если вы выберете Использовать существующую базу данных, выберите базу данных в раскрывающемся списке База данных метаданных синхронизации.Автоматическая синхронизация Выберите значение Включено или Выключено.
Если вы выбрали Включено, в разделе Частота синхронизации введите число и выберите единицы измерения: секунды, минуты, часы или дни.
Первая синхронизация начинается по истечении указанного периода времени с момента сохранения конфигурации.Устранение конфликтов Выберите Победа хаба или Победа участника.
Побеждает концентратор означает, что при возникновении конфликтов данные в базе данных концентратора перезаписывают конфликтующие данные в базе данных участника.
Приоритет данных участника означает, что при возникновении конфликтов данные из базы данных участника перезаписывают конфликтующие данные в центральной базе данных.Имя пользователя базы данных Концентратора и пароль базы данных Концентратора Укажите имя пользователя и пароль для учетной записи администратора сервера с проверкой подлинности SQL для базы данных Hub. Это имя администратора сервера и пароль для того же логического сервера SQL Azure, на который вы начали работу. Проверка подлинности Microsoft Entra (ранее — Azure Active Directory) не поддерживается. Использовать частную ссылку Выберите управляемую службой частную конечную точку, чтобы установить безопасное подключение между службой синхронизации и центральной базой данных. Нажмите кнопку ОК и подождите, пока будет создана и развернута группа синхронизации.
Если на странице Новая группа синхронизации выбрано использование Приватного канала, необходимо утвердить подключение к частной конечной точке. Ссылка в информационном сообщении позволяет перейти к функции "Подключения к частной конечной точке", с помощью которой можно утвердить подключение.
Примечание.
Частные ссылки для группы синхронизации и членов синхронизации должны быть созданы, утверждены и отключены отдельно.
Добавить участников синхронизации
Откройте созданную и развернутую группу синхронизации и перейдите на страницу Базы данных, на которой нужно выбрать членов синхронизации.
Примечание.
Чтобы обновить или вставить имя пользователя и пароль в центральную базу данных, перейдите в раздел Центральная база данных на странице Выбор членов синхронизации.
Добавьте базу данных в Базу данных SQL Azure как участник группы синхронизации
В разделе Выбор членов синхронизации можно дополнительно добавить в группу синхронизации базу данных в Базе данных Azure SQL, щелкнув Добавить Базу данных Azure. Откроется страница Настройка базы данных Azure.
На странице Configure База данных SQL Azure (Настройка Базы данных SQL Azure) измените указанные ниже параметры.
Setting Описание Имя участника синхронизации Укажите имя нового участника синхронизации. Это имя должно отличаться от имени самой базы данных. Подписка Выберите связанную подписку Azure для выставления счетов. Azure SQL Server Выберите существующий сервер. База данных SQL Azure Выберите существующую базу данных в Базе данных SQL. Направления синхронизации Направление синхронизации может быть от центра к участнику, или от участника к центру, или в обоих направлениях. Выберите "Из концентратора", "На концентратор" или "Двунаправленная синхронизация". Дополнительные сведения см. в статье о работе. Имя пользователя и Пароль Введите имеющиеся учетные данные для сервера, на котором расположена база данных участников. Не вводите новые учетные данные в этом разделе. Использовать частную ссылку Выберите управляемую службой частную конечную точку, чтобы установить безопасное подключение между службой синхронизации и рядовой базой данных. Нажмите кнопку ОК и подождите, пока будет создан и развернут новый член синхронизации.
Добавьте базу данных в экземпляре SQL Server в группу синхронизации в качестве участника
В разделе "База данных участников" при необходимости добавьте базу данных в экземпляре SQL Server в группу синхронизации, выбрав "Добавить локальную базу данных".
Откроется страница Настройка локальной среды, где вы можете выполнить описанные ниже действия.
Щелкните Выбор шлюза агента синхронизации. Откроется страница Выбор агента синхронизации.
На странице Choose the Sync Agent (Выбор агента синхронизации) укажите, следует ли использовать существующий агент или создать новый.
Если вы выбрали вариант Существующие агенты, выберите агент в списке.
Если вы выбрали вариант Создание агента, сделайте следующее:
Скачайте агент синхронизации данных из предоставленной ссылки и установите его на сервере, который отличается от расположения экземпляра SQL Server. Вы также можете загрузить агент непосредственно по ссылке Azure SQL Синхронизация данных Agent. С рекомендациями по агенту клиента синхронизации ознакомьтесь в Рекомендации по Azure SQL Синхронизация данных.
Внимание
Необходимо открыть исходящий TCP-порт 1433 в брандмауэре, чтобы позволить агенту клиента обмениваться данными с сервером.
Введите имя агента.
Выберите Создание и генерация ключа и скопируйте ключ агента в буфер обмена
Нажмите кнопку ОК, чтобы закрыть страницу Выбор агента синхронизации.
На сервере, на котором установлен агент клиента синхронизации, найдите и запустите приложение агента синхронизации клиента.
В приложении агента синхронизации выберите Submit Agent Key (Отправить ключ агента). Откроется диалоговое окно Sync Metadata Database Configuration (Конфигурация базы данных для метаданных синхронизации).
В диалоговом окне Sync Metadata Database Configuration (Конфигурация базы данных для метаданных синхронизации) вставьте ключ агента, скопированный на портале Azure. Также укажите существующие учетные данные для сервера, на котором находится база данных метаданных синхронизации. Нажмите кнопку ОК и дождитесь завершения настройки.
Примечание.
Если вы получите сообщение об ошибке брандмауэра, создайте в Azure правило брандмауэра, которое разрешает входящий трафик от компьютера SQL Server. Такое правило можно создать вручную на портале или с помощью SQL Server Management Studio (SSMS). В SSMS подключитесь к базе данных-концентратору в Azure, указав ее имя как
<hub_database_name>.database.windows.net.Щелкните Регистрация, чтобы зарегистрировать базу данных SQL Server в агенте. Откроется диалоговое окно SQL Server Configuration (Конфигурация SQL Server).
В диалоговом окне Конфигурация SQL Server выберите, следует ли устанавливать подключение с использованием аутентификации SQL Server или аутентификации Windows. Если выбрана аутентификация SQL Server, введите существующие учетные данные. Укажите имя SQL Server и имя базы данных, которую требуется синхронизировать, и щелкните Тестирование подключения для проверки настроек. Теперь щелкните Сохранить, и зарегистрированная база данных появится в списке.
Закройте приложение агента синхронизации клиента.
В портале Azure на странице «Настройка локальной среды» выберите «Выбрать базу данных».
На странице Выбор базы данных в поле Имя участника синхронизации укажите имя нового члена синхронизации. Это имя должно отличаться от имени самой базы данных. Выберите базу данных из списка. В поле Направления синхронизации выберите значение Двунаправленная синхронизация, К концентратору или Из концентратора.
Нажмите кнопку ОК, чтобы закрыть страницу Выбор базы данных. Затем нажмите OK, чтобы закрыть страницу Настройка локальной инфраструктуры, и подождите, пока новый участник синхронизации не будет создан и развернут. Наконец, нажмите кнопку ОК, чтобы закрыть страницу Выбор членов синхронизации.
Примечание.
Чтобы подключиться к службе синхронизации данных SQL и к локальному агенту, добавьте используемое имя пользователя в роль DataSync_Executor. Служба синхронизации данных создает эту роль в экземпляре SQL Server.
Настройка группы синхронизации
После создания и развертывания новых членов группы синхронизации перейдите в раздел Таблицы на странице Группа синхронизации базы данных.
На странице Таблицы выберите базу данных из списка участников группы синхронизации, а затем щелкните Обновить схему. Обновление схемы может занять несколько минут; при использовании Private Link задержка может быть ещё на несколько минут дольше.
Выберите в списке таблицы для синхронизации. По умолчанию выбраны все столбцы, поэтому снимите флажки для тех столбцов, которые не нужно синхронизировать. Обязательно оставьте выбранным столбец первичного ключа.
Выберите Сохранить.
По умолчанию базы данных не синхронизируются, пока вы не настроите расписание или не запустите синхронизацию вручную. Чтобы выполнить синхронизацию вручную, перейдите на портале Azure к нужной базе данных в Базе данных SQL, щелкните Синхронизировать с другими базами данных и выберите группу синхронизации. Откроется страница Синхронизация данных. Выберите Синхронизация.
Вопросы и ответы
В этом разделе приведены ответы на часто задаваемые вопросы о службе Синхронизация данных SQL Azure.
Создает ли Синхронизация данных SQL полные таблицы?
Если в целевой базе данных отсутствуют таблицы схемы синхронизации, SQL Синхронизация данных создаёт их с выбранными вами столбцами. Но этот механизм не позволяет создать полноценную схему по следующим причинам:
- В целевой таблице создаются только выбранные столбцы. Все невыбранные столбцы игнорируются.
- В таблице назначения создаются индексы только по выделенным столбцам. Для невыбранных столбцов все индексы игнорируются.
- Индексы для столбцов типа XML не создаются.
- Ограничения CHECK не создаются.
- Триггеры из исходных таблиц не создаются.
- Представления и хранимые процедуры не создаются.
Из-за этих ограничений мы рекомендуем применять следующий подход:
- Для производственных сред создайте полноценную схему самостоятельно.
- При тестировании сервиса используйте функцию автоматического выделения ресурсов.
Почему в списке отображаются таблицы, созданные не мной?
Синхронизация данных создает в базе данных дополнительные таблицы для отслеживания изменений. Не удаляйте их, иначе функция синхронизации данных перестанет работать.
Гарантируется ли согласованность данных после синхронизации?
Не обязательно. Рассмотрим группу синхронизации с концентратором и тремя подчинёнными базами данных (A, B и C) с синхронизациями из концентратора в A, из концентратора в B и из концентратора в C. Если в базе данных A выполнено изменение после синхронизации из концентратора в A, это изменение не записывается в базу данных B и базу данных C до следующего задания синхронизации.
Как добавить изменения схемы в группу синхронизации?
Все изменения схемы нужно вносить и распространять вручную.
- Вручную внесите изменения схемы на центральный узел и на все узлы-участники синхронизации.
- Обновление схемы синхронизации.
Добавление новых таблиц или столбцов
Новые таблицы и столбцы не влияют на текущую синхронизацию, и Синхронизация данных игнорирует их, пока они не будут добавлены в схему синхронизации. При добавлении новых объектов базы данных соблюдайте такую последовательность:
- Добавьте новые таблицы или столбцы в центральной базе данных и на всех участниках синхронизации.
- Добавьте новые таблицы или столбцы в схему синхронизации.
- Вносите данные в новые таблицы и столбцы.
Чтобы изменить тип данных столбца, выполните следующие действия.
Если изменить тип данных существующего столбца, синхронизация данных продолжает выполняться до тех пор, пока новые значения соответствуют исходному типу данных, определенному в схеме синхронизации. Например, если вы измените в базе данных-источнике тип с int на bigint, синхронизация данных будет продолжаться, пока на обработку не поступит слишком большое для типа int значение. Чтобы завершить изменение, вручную реплицируйте изменения схемы в концентратор и на все участники синхронизации, а затем обновите схему синхронизации.
Как правильно экспортировать и импортировать базу данных, для которой выполняется синхронизация данных?
После экспорта базы данных в виде .bacpac файла и импорта файла для создания базы данных выполните следующие действия, чтобы использовать Синхронизация данных в новой базе данных:
- Очистите объекты Синхронизация данных и дополнительные таблицы в новой базе с помощью Синхронизация данных complete cleanup.sql. Этот скрип удаляет из базы данных все необходимые объекты Синхронизации данных.
- Повторно создайте группу синхронизации с новой базой данных. Если старая группа синхронизации больше не нужна, удалите ее.
Где найти сведения об агенте клиента?
Часто задаваемые вопросы об агенте клиента см. в этом разделе.
Нужно ли вручную подтвердить ссылку, прежде чем я смогу начать её использовать?
Да. Необходимо вручную утвердить управляемую службой частную конечную точку на странице «Подключения к частной конечной точке» на портале Azure во время развертывания группы синхронизации или с помощью PowerShell.
Почему я получаю сообщение об ошибке брандмауэра, когда задание синхронизации подготавливает мою базу данных Azure?
Это может произойти, так как ресурсы Azure не могут получить доступ к серверу. Есть два решения.
Убедитесь, что для брандмауэра базы данных Azure параметр Разрешить службам и ресурсам Azure доступ к этому серверу имеет значение Да. Дополнительные сведения см. в разделе База данных SQL Azure и управления доступом к сети.
Настройте частную ссылку для синхронизации данных, которая отличается от Приватный канал Azure. Приватный канал — это способ создания групп синхронизации с помощью безопасного подключения к базам данных, сидящим за брандмауэром. Приватный канал для SQL Синхронизация данных представляет собой конечную точку, управляемую Microsoft, и автоматически создает подсеть внутри существующей виртуальной сети, поэтому нет необходимости создавать еще одну виртуальную сеть или подсеть.
Какие версии локального 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 для Azure?
- Агент синхронизации данных для SQL Синхронизация данных
- Best practices for SQL Синхронизация данных (Preview) (Рекомендации по синхронизации данных SQL (предварительная версия))
- Устранение неполадок с синхронизацией данных SQL
- Мониторинг и настройка производительности в Базе данных Azure SQL и Управляемом экземпляре Azure SQL
- Что такое База данных SQL Azure
- Управление жизненным циклом базы данных