Репликация в Базу данных SQL Azure
Применимо к: База данных SQL Azure
Вы можете настроить База данных SQL Azure в качестве подписчика push-отправки в одностороннюю топологию репликации транзакций или моментальных снимков из SQL Server и Управляемый экземпляр SQL Azure.
Примечание.
В этой статье описывается использование репликации транзакций в Базе данных SQL Azure. Она не связана с активной георепликацией, которая представляет собой функцию Базы данных SQL Azure, позволяющую создавать доступные для чтения реплики отдельных баз данных.
Поддерживаемые конфигурации
- База данных SQL Azure может быть только принудительным подписчиком издателя и распространителя SQL Server.
- Экземпляр SQL Server, выступающий в роли издателя и (или) распространителя, может быть экземпляром SQL Server, работающего локально, Управляемым экземпляром Azure SQL или экземпляром SQL Server, работающего на виртуальной машине Azure в облаке.
- База данных распространителя и агенты репликации не могут быть размещены в базе данных в службе "База данных SQL Azure".
- Поддерживается репликация моментальных снимков и односторонняя репликация транзакций. Одноранговая репликация транзакций и репликация слиянием не поддерживаются.
Версии
Для успешной репликации в базу данных в службе "База данных SQL Azure" издателям и распространителям SQL Server следует использовать (по крайней мере) одну из следующих версий:
Публикация в службу "База данных SQL Azure" из базы данных SQL Server поддерживается в следующих версиях SQL Server:
- SQL Server 2016 и выше
- SQL Server 2014 RTM CU10 (12.0.4427.24) или с пакетом обновления 1 (SP1) CU3 (12.0.2556.4)
- SQL Server 2012 с пакетом обновления 2 (SP2) CU8 (11.0.5634.1) или с пакетом обновления 3 (SP3) (11.0.6020.0)
Примечание.
Попытка настроить репликацию с использованием неподдерживаемой версии может привести к ошибке MSSQL_REPL20084 (The process could not connect to Subscriber (Процессу не удалось подключиться к Подписчику)) или MSSQL_REPL40532 (Cannot open server <name> requested by the login. The login failed. (Не удается открыть сервер <имя>, запрошенный именем для входа. Не удалось выполнить вход.)).
Чтобы использовать все функции База данных SQL Azure, необходимо использовать последние версии SQL Server Management Studio (SSMS) и SQL Server Data Tools.
Типы репликации
Существуют разные типы репликации.
Репликация | База данных SQL Azure | Управляемый экземпляр SQL Azure |
---|---|---|
Стандартная транзакционная | Да (только в качестве подписчика) | Да |
Моментальный снимок | Да (только в качестве подписчика) | Да |
Репликация слиянием | Нет | Нет |
Одноранговая репликация | Нет | Нет |
Двунаправленная репликация | Нет | Да |
Обновляемых подписок | Нет | Нет |
Примечания
- В Базе данных SQL Azure поддерживаются только принудительные подписки.
- Репликацию можно настроить с помощью SQL Server Management Studio или путем выполнения инструкций Transact-SQL в издателе. Репликацию невозможно настроить с помощью портала Azure.
- Чтобы подключиться к службе "База данных SQL Azure", во время репликации могут использоваться только имена входа для аутентификации SQL Server.
- У реплицируемых таблиц должен быть первичный ключ.
- У вас должна быть подписка Azure.
- Подписчик службы "База данных SQL Azure" может находиться в любом регионе.
- Одна публикация на сервере SQL Server может поддерживать подписчиков и Базы данных SQL Azure, и SQL Server (локально и SQL Server на виртуальной машине Azure).
- Управление репликацией, ее мониторинг и устранение неполадок должны выполняться на SQL Server, а не в Базе данных SQL Azure.
- В sp_addsubscription для Базы данных SQL поддерживается только
@subscriber_type = 0
. - Служба "База данных SQL Azure" не поддерживает двунаправленную, немедленную, обновляемую или одноранговую репликацию.
Архитектура репликации
Сценарии
Распространенный сценарий репликации
- Создайте публикацию репликации транзакций в базе данных SQL Server.
- В SQL Server используйте Мастер создания подписки или операторов Transact-SQL для создания принудительной подписки на Базу данных SQL Azure.
- Для отдельных баз данных и баз данных в пуле исходный набор данных обычно является моментальным снимком, который создается агентом моментальных снимков, а затем распределяется и применяется агентом распространения. С помощью издателя управляемого экземпляра Базы данных SQL Azure также можно использовать резервную копию базы данных для заполнения подписчика Базы данных SQL Azure.
Сценарий переноса данных
- Используйте репликацию транзакций для репликации данных из Базы данных SQL Server в Базу данных SQL Azure.
- Перенаправление клиента или приложений среднего уровня для обновления копии базы данных.
- Остановите обновление версии SQL Server таблицы и удалите публикацию.
Ограничения
Репликация со следующими параметрами не поддерживается База данных SQL Azure:
- копирование сопоставления групп файлов;
- копирование схем секционирования таблиц;
- копирование схем секционирования индексов;
- копирование определяемой пользователем статистики;
- копирование привязок по умолчанию;
- копирование привязок правил;
- копирование полнотекстовых индексов;
- копирование XSD XML;
- копирование XML-индексов;
- копирование разрешений.
- копирование пространственных индексов;
- копирование фильтруемых индексов;
- копирование атрибута сжатия данных;
- копирование атрибута разреженного столбца;
- конвертирование файлового потока в типы данных MAX;
- копирование hierarchyid в типы данных MAX;
- копирование пространственных типов в типы данных MAX;
- копирование расширенных свойств;
Ограничения, которые должны быть подтверждены
- Копирование параметров сортировки.
- Выполнение в сериализованной транзакции хранимой процедуры.
Примеры
Создайте публикацию и принудительную подписку. Дополнительные сведения см. в разделе:
- Create a Publication
- Создание принудительной подписки с использованием имени сервера в качестве подписчика (например, N'azuresqldbdns.database.windows.net') и имени Базы данных SQL Azure в качестве целевой базы данных (например, AdventureWorks).