Перенос имен входа и групп SQL
Для простого и безопасного перехода баз данных SQL Server в SQL Azure важно понимать и эффективно управлять миграцией сведений о безопасности.
Выбор времени миграции имен входа и групп SQL
Представьте себе большую организацию с существенной локальной инфраструктурой SQL Server, которая обслуживает различные бизнес-единицы. Каждый бизнес-подразделение имеет собственный набор имен входа SQL, ролей пользователей и разрешений, настроенных в соответствии с конкретными потребностями. Организация решает перенести эти базы данных в База данных SQL Azure использовать преимущества масштабируемости облака.
В этом сценарии перенос имен входа перед миграцией базы данных может привести к ненужной сложности этапа тестирования.
Перенос имен входа в конце проекта миграции базы данных может упростить тестирование, особенно в сложных сценариях. Если имена входа переносятся заранее, это может привести к задержкам тестирования из-за развития схем базы данных. Ожидание переноса имен входа позволяет конфигурациям безопасности соответствовать окончательной структуре, упрощая процесс миграции, особенно если безопасность, зависящая от таблиц, имеет решающее значение для защиты данных.
Сложности | Описание |
---|---|
Структура сложных разрешений | Перенос имен входа позже позволяет адаптировать разрешения по мере развития структуры базы данных во время миграции. |
Задержки тестирования | Перенос имен входа рано может замедлить тестирование, усложняя проверку безопасности вместе с изменениями схемы. |
Безопасность, зависящая от таблицы | Задержка миграции входа позволяет настраивать конфигурации безопасности в соответствии с окончательными структурами баз данных, если они изменяются во время миграции. |
В нашем сценарии этот подход позволяет сосредоточиться на том, чтобы меры безопасности идеально соответствовали завершенной структуре базы данных, уменьшая потенциальные осложнения и делая проект миграции более управляемым.
Использование расширения миграции Azure
В рамках задач после миграции вы можете использовать расширение миграции Azure в Azure Data Studio для переноса имен входа и ролей сервера из локального SQL Server в целевой объект SQL Azure. Этот интерфейс миграции входа автоматизирует выполнение ручных задач, таких как синхронизация имен входа с соответствующими сопоставлениями пользователей и реплицированием разрешений сервера и ролей сервера.
В настоящее время расширение миграции поддерживает только целевые объекты Управляемый экземпляр SQL Azure или SQL Server на виртуальных машинах Azure.
- Управляемый экземпляр SQL Azure — учетные записи Windows и имена входа SQL.
- SQL Server на виртуальной машине Azure — только имена входа SQL
Если вы еще не выполнили миграцию базы данных и процесс миграции входа, миграция имен входа и ролей сервера по-прежнему произойдет, но сопоставления имен входа и ролей не будут выполнены правильно. Этот процесс миграции входа автоматизирует задачи вручную, включая синхронизацию имен входа с соответствующими сопоставлениями пользователей и разрешениями и ролями сервера репликации.
Вы можете использовать расширение миграции SQL Azure для Azure Data Studio, PowerShell или Azure CLI для запуска процесса миграции входа.
Выполните следующие действия, чтобы перенести имена входа с помощью расширения миграции в Azure Data Studio:
Запустите расширение миграции SQL Azure из Azure Data Studio и запустите мастер миграции входа SQL Server.
На шаге 1. Целевой объект SQL Azure подключитесь к целевому объекту SQL Azure.
На шаге 2. Выберите имена входа для миграции, выберите имена входа из исходного экземпляра SQL Server.
На шаге 3. Состояние миграции отслеживайте процесс миграции входа. После успешного завершения миграции входа (или при сбое) на странице отображаются соответствующие обновления.
Использование DMA
В рамках миграции входа Помощник по миграции данных назначает разрешения для защищаемых объектов на целевом СЕРВЕРе SQL Server по мере их существования в исходном SQL Server. Если имя входа уже существует на целевом сервере SQL Server, Помощник по миграции данных переносит только разрешения, назначенные защищаемым объектам и не создавайте все имя входа. Помощник по миграции данных лучше всего сопоставить имя входа с пользователями базы данных, если имя входа уже существует на целевом сервере.
Помощник по миграции данных в настоящее время не поддерживает:
- Имена входа, связанные с автономным сертификатом безопасности (имена входа, сопоставленные с сертификатом)
- Автономный асимметричный ключ (имена входа, сопоставленные с асимметричным ключом)
- Имена входа, сопоставленные с учетными данными.
- По умолчанию Помощник по миграции данных выбирает все квалифицированные имена входа для переноса. При необходимости можно выбрать определенные имена входа для миграции1.
Примечание.
Хотя база данных Помощник по миграции является полезным инструментом, рекомендуется использовать Службу azure Database Migration Service для больших миграций и расширенных общих возможностей, доступных в качестве расширения миграции SQL Azure для Azure Data Studio или через портал Azure, или с помощью Azure PowerShell и Azure CLI.
Скрипт MoveLogins
Скрипт MoveLogins помогает передавать сведения о входе из локальных СЕРВЕРОВ SQL Server в База данных SQL Azure или другие предложения PaaS.
Хотя Помощник по миграции данных (DMA) имеет возможность передачи сведений о безопасности и выполняет полную граф зависимостей для обеспечения правильной передачи разрешений, скрипт MoveLogins предоставляет дополнительный вариант. Он позволяет искать пользователей Active Directory, позволяя получить имя участника-пользователя (UPN), которая в настоящее время не поддерживается DMA.
Скрипт, написанный в PowerShell, создает скрипт T-SQL, который можно применить к целевой среде SQL для передачи имен входа, пользователей базы данных, ролей и разрешений. Он не выполняет команды в целевой среде. Перед применением его к целевой среде необходимо тщательно проверить выходные данные созданного скрипта.
Сценарий создает различные результаты в зависимости от того, используете ли вы База данных SQL Azure или Управляемый экземпляр SQL Azure. В База данных SQL Azure нельзя создавать имена входа Microsoft Entra и связанные пользователи базы данных. Вместо этого пользователи Microsoft Entra создаются на уровне базы данных. Для Управляемый экземпляр SQL Azure это похоже на локальный SQL Server с именами входа на уровне сервера и пользователями базы данных.
Примечание.
Мы рекомендуем начать с выделенного средства миграции, например расширения миграции Azure для передачи имен входа. При возникновении проблем с этими рекомендуемыми средствами можно рассмотреть альтернативные методы, например с помощью скрипта MoveLogins.