Использование PowerShell для обновления схемы синхронизации в существующей группе синхронизации
Применимо к: База данных SQL Azure
Внимание
Синхронизация данных SQL будет прекращено 30 сентября 2027 года. Рассмотрите возможность миграции в альтернативные решения для репликации и синхронизации данных.
Этот пример скрипта Azure PowerShell обновляет схему синхронизации в существующей группе синхронизации компонента "Синхронизация данных SQL". Если вы синхронизируете несколько таблиц, этот скрипт поможет вам эффективно обновить схему синхронизации. В этом примере показано использование скрипта UpdateSyncSchema, который можно найти в репозитории GitHub (файл UpdateSyncSchema.ps1).
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Примечание.
В этой статье предусмотрено использование модуля Azure Az PowerShell, который является рекомендуемым модулем PowerShell для взаимодействия с Azure. Чтобы начать работу с модулем Az PowerShell, ознакомьтесь со статьей Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Использование Azure Cloud Shell
В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.
Начало работы с Azure Cloud Shell
Вариант | Пример и ссылка |
---|---|
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом. При нажатии кнопки Попробовать код не копируется в Cloud Shell автоматически. | |
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. | |
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
Чтобы выполнить код из этой статьи в Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
В блоке кода нажмите кнопку Копировать, чтобы скопировать код.
Вставьте код в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
Нажмите клавишу ВВОД, чтобы выполнить код.
Если требуется установить и использовать PowerShell локально, для работы с этим руководством вам понадобится AZ PowerShell 1.4.0 или последующей версии. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. Если модуль PowerShell запущен локально, необходимо также выполнить командлет Connect-AzAccount
, чтобы создать подключение к Azure.
Общие сведения о Синхронизация данных SQL см. в статье "Что такое Синхронизация данных SQL для Azure?"
Синхронизация данных SQL не поддерживает Управляемый экземпляр SQL Azure или Azure Synapse Analytics.
Примеры
Добавление всех таблиц в схему синхронизации
Следующий пример обновляет схему базы данных и добавляет все допустимые таблицы в центральную базу данных для синхронизации схемы.
UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
-SyncGroupName <syncGroupName> -RefreshDatabaseSchema $true -AddAllTables $true
Добавление и удаление таблиц и столбцов
Следующий пример добавляет [dbo].[Table1]
и [dbo].[Table2].[Column1]
в схему синхронизации и удаляет [dbo].[Table3]
.
UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
-SyncGroupName <syncGroupName> -TablesAndColumnsToAdd "[dbo].[Table1],[dbo].[Table2].[Column1]" -TablesAndColumnsToRemove "[dbo].[Table3]"
Параметры скрипта
Скрипт UpdateSyncSchema содержит следующие параметры:
Параметр | Примечания. |
---|---|
$subscriptionId | Подписка, в которой создана группа синхронизации. |
$resourceGroupName | Группа ресурсов, в которой создана группа синхронизации. |
$serverName | Имя сервера центральной базы данных. |
$databaseName | Имя центральной базы данных. |
$syncGroupName | Имя группы синхронизации |
$memberName | Укажите имя элемента, если вы хотите загрузить схему базы данных из элемента синхронизации, а не из центральной базы данных. Если вы хотите загрузить схему базы данных из центральной базы данных, оставьте этот параметр пустым. |
$timeoutInSeconds | Время ожидания до того, как скрипт обновит схему базы данных. По умолчанию это 900 секунд. |
$refreshDatabaseSchema | Укажите, должен ли скрипт обновлять схему базы данных. Если предыдущая конфигурация схемы базы данных была изменена (например, при добавлении новой таблицы или нового столбца), вам необходимо обновить схему до ее перенастройки. По умолчанию — false. |
$addAllTables | Если это значение равно true, все допустимые таблицы и столбцы добавляются в схему синхронизации. Значения $TablesAndColumnsToAdd и $TablesAndColumnsToRemove игнорируются. |
$tablesAndColumnsToAdd | Укажите таблицы или столбцы для добавления в схему синхронизации. Имя каждой таблицы или каждого столбца должно содержать имя схемы. Например: [dbo].[Table1] , [dbo].[Table2].[Column1] . Чтобы указать несколько имен таблиц или столбцов, разделите их запятыми (,). |
$tablesAndColumnsToRemove | Укажите таблицы или столбцы для удаления из схемы синхронизации. Имя каждой таблицы или каждого столбца должно содержать имя схемы. Например: [dbo].[Table1] , [dbo].[Table2].[Column1] . Чтобы указать несколько имен таблиц или столбцов, разделите их запятыми (,). |
Описание скрипта
Скрипт UpdateSyncSchema содержит следующие команды: Для каждой команды в таблице приведены ссылки на соответствующую документацию.
Команда | Примечания. |
---|---|
Get-AzSqlSyncGroup | Возвращает сведения о группе синхронизации. |
Update-AzSqlSyncGroup | Создает группу синхронизации. |
Get-AzSqlSyncMember | Возвращает сведения о члене синхронизации. |
Get-AzSqlSyncSchema | Возвращает сведения о схеме синхронизации. |
Update-AzSqlSyncSchema | Обновляет схему синхронизации. |
Связанный контент
Дополнительные сведения об Azure PowerShell см. в документации по Azure PowerShell.
Дополнительные примеры сценариев PowerShell для Базы данных SQL Azure можно найти в разделе Примеры Azure PowerShell для Базы данных SQL Azure.
Дополнительные сведения о синхронизации данных SQL см. в следующих материалах:
- Общие сведения о синхронизации данных между Базой данных SQL Azure и SQL Server с помощью службы "Синхронизация данных SQL" в Azure.
- Настройка Синхронизация данных
- Используйте портал Azure: Руководство по настройке синхронизации данных SQL между базой данных SQL Azure и базой данных SQL Server.
- Использование PowerShell
- Data Sync Agent: Data Sync Agent для службы "Синхронизация данных SQL" в Azure
- Рекомендации: Рекомендации по службе "Синхронизация данных SQL" в Azure.
- Мониторинг: Мониторинг синхронизации данных SQL с помощью журналов Azure Monitor
- Устранение неполадок: Устранение неполадок службы "Синхронизация данных SQL" в Azure.
- Обновление схемы синхронизации
- Использование Transact-SQL: Автоматическая репликация изменений схемы в службе "Синхронизация данных SQL" в Azure.
Дополнительные сведения о Базе данных SQL см. в разделах: