Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La extensión Azure SQL Migration de Azure Data Studio reúne una experiencia simplificada de evaluación, migración y recomendación que ofrece las siguientes funcionalidades:
Un mecanismo de evaluación mejorado que puede evaluar instancias de SQL Server e identificar las bases de datos que están listas para la migración a los distintos destinos de Azure SQL.
Un motor de recomendaciones de SKU (Versión preliminar) que recopila datos de rendimiento de la instancia de SQL Server de origen local, lo que genera recomendaciones de SKU de tamaño correcto basadas en el destino de Azure SQL.
Un servicio de Azure confiable con tecnología de Azure Database Migration Service que orquesta las actividades de movimiento de datos para ofrecer una experiencia de migración fluida.
La capacidad de ejecutar modos de migración en línea (para migraciones que requieren un tiempo de inactividad mínimo) o sin conexión (para migraciones en las que el tiempo de inactividad persiste mientras dura la migración) para satisfacer los requisitos empresariales.
La flexibilidad de crear y configurar un entorno de ejecución de integración autohospedado para proporcionar su propio proceso para acceder a la instancia de SQL Server de origen y las copias de seguridad en el entorno local.
Con herramientas de automatización como PowerShell: Módulo Azure DataMigration Service o la CLI de Azure, puede aplicar las funcionalidades de la extensión de migración de Azure SQL junto con Azure Database Migration Service para migrar una o varias bases de datos a escala (incluidas las bases de datos en varias instancias de SQL Server).
Se puede hacer referencia a los siguientes scripts de ejemplo para adaptarse a su escenario de migración mediante Azure PowerShell o la CLI de Azure:
Escenario de migración | Lenguaje de scripting |
---|---|
Evaluación de SQL Server | PowerShell / CLI de Azure |
SQL Server para Azure SQL Managed Instance (mediante el recurso compartido de archivos) | PowerShell / CLI de Azure |
SQL Server a Azure SQL Managed Instance (mediante almacenamiento de Azure) | PowerShell / CLI de Azure |
SQL Server a SQL Server en Máquinas Virtuales de Azure (mediante un recurso compartido de archivos) | PowerShell / CLI de Azure |
SQL Server a SQL Server en Máquinas Virtuales de Azure (mediante Azure Storage ) | PowerShell / CLI de Azure |
SQL Server a Azure SQL Database | PowerShell / CLI de Azure |
Recomendaciones de SKU (versión preliminar) | PowerShell / CLI de Azure |
Automatización de la migración de un extremo a otro | PowerShell / CLI de Azure |
Automatización de la migración de un extremo a otro para varias bases de datos | PowerShell / CLI de Azure |
Requisitos previos
Los requisitos previos comunes a todos los escenarios de migración admitidos mediante Azure PowerShell o la CLI de Azure son:
Tenga una cuenta de Azure asignada a uno de los roles integrados que se enumeran a continuación:
Colaborador de Azure SQL Managed Instance de destino, SQL Server en Azure Virtual Machines o Azure SQL Database y cuenta de almacenamiento para cargar los archivos de copia de seguridad de la base de datos desde el recurso compartido de red SMB (No aplicable para Azure SQL Database).
Rol de lector para los grupos de recursos de Azure que contienen Azure SQL Managed Instance de destino, SQL Server en Azure Virtual Machines o Azure SQL Database.
Propietario y colaborador de la suscripción de Azure.
La cuenta de Azure solo es necesaria al ejecutar los pasos de migración y no es necesaria para el proceso de pasos de evaluación o recomendación de Azure.
Crear una instancia de Azure SQL Managed Instance, SQL Server en Azure Virtual Machines o en Azure SQL Database
Si el destino es Azure SQL Database, debe migrar el esquema de base de datos de origen a destino mediante extensión dacpac de SQL Server o, extensión proyectos de SQL Database para Azure Data Studio.
Si tiene una máquina virtual de Azure existente, debe registrarse con la extensión Agente de IaaS de SQL en modo de administración completa.
Si el destino es Azure SQL Managed Instance o SQL Server en la máquina virtual de Azure, asegúrese de que los inicios de sesión usados para conectar el SQL Server de origen son miembros del rol de servidor sysadmin o tienen
CONTROL SERVER
permiso.Si el destino es Azure SQL Database, asegúrese de que el inicio de sesión usado para conectar el origen SQL Server es miembro y el
db_datareader
inicio de sesión del servidor SQL de destino esdb_owner
.Use una de las siguientes opciones de almacenamiento para la base de datos completa y los archivos de copia de seguridad del registro de transacciones:
Recurso compartido de red SMB.
Recurso compartido de archivos o contenedor de blobs de la cuenta de almacenamiento de Azure.
Si los archivos de copia de seguridad de la base de datos se proporcionan en un recurso compartido de red SMB, cree una cuenta de almacenamiento de Azure que permita al servicio DMS cargar los archivos de copia de seguridad de la base de datos. Asegúrese de crear la cuenta Azure Storage en la misma región en la que se creó la instancia de Azure Database Migration Service.
Asegúrese de que el contenedor de blobs de la cuenta de Almacenamiento de Azure se usa exclusivamente para almacenar solo archivos de copia de seguridad. Cualquier otro tipo de archivo (txt, png, jpg, etc.) interferirá con el proceso de restauración que conduce a un error.
Azure Database Migration Service no inicia ninguna copia de seguridad y, en su lugar, usa copias de seguridad existentes, que es posible que ya tenga como parte del plan de recuperación ante desastres, para la migración.
Cada copia de seguridad se puede escribir en un archivo de copia de seguridad independiente o en varios archivos de copia de seguridad. Sin embargo, no se admite la anexión de varias copias de seguridad (es decir, el registro completo y el registro) en un solo medio de copia de seguridad.
Use copias de seguridad comprimidas para reducir la probabilidad de experimentar posibles problemas asociados con la migración de copias de seguridad grandes.
Asegúrese de que la cuenta de servicio que ejecuta la instancia de SQL Server de origen tiene permisos de lectura y escritura en el recurso compartido de red SMB que contiene archivos de copia de seguridad de base de datos.
El certificado de instancia de SQL Server de origen de una base de datos protegida por cifrado de datos transparente (TDE) debe migrarse a Azure SQL Managed Instance de destino o a SQL Server en la máquina virtual de Azure antes de migrar los datos. Para más información sobre la migración de bases de datos habilitadas para TDE, consulte Tutorial: Migración de bases de datos habilitadas para TDE (versión preliminar) a Azure SQL en Azure Data Studio.
Sugerencia
Si la base de datos contiene datos confidenciales protegidos por Always Encrypted, el proceso de migración mediante Azure Data Studio con DMS migrará automáticamente las claves de Always Encrypted a la instancia de destino de Azure SQL Managed Instance o SQL Server en Azure Virtual Machines.
Si las copias de seguridad de la base de datos están en un recurso compartido de archivos de red, proporcione una máquina para instalar el entorno de ejecución de integración autohospedado con el fin de acceder a las copias de seguridad de la base de datos y migrarlas. Los módulos de Azure PowerShell o la CLI de Azure proporcionan las claves de autenticación para registrar el tiempo de ejecución de integración auto-hospedada. Como preparación para la migración, asegúrese de que la máquina donde tiene previsto instalar el entorno de ejecución de integración autohospedado tenga habilitados los siguientes nombres de dominio y reglas de firewall de salida:
Nombres de dominio Puertos de salida Descripción Nube pública: {datafactory}.{region}.datafactory.azure.net
o*.frontend.clouddatahub.net
Azure Government:{datafactory}.{region}.datafactory.azure.us
China:{datafactory}.{region}.datafactory.azure.cn
443 Requerido por el entorno de ejecución de integración autohospedado para conectarse al servicio de migración de datos.
Para las nuevas factorías de datos creadas en la nube pública, busque el FQDN en la clave del entorno de ejecución de integración autohospedado, que tiene el formato{datafactory}.{region}.datafactory.azure.net
. En el caso de factoría de datos anterior, si no ve el FQDN en la clave de integración autohospedada, use *.frontend.clouddatahub.net en su lugar.download.microsoft.com
443 Requerido por el entorno de ejecución de integración autohospedado para descargar las actualizaciones. Si ha deshabilitado la actualización automática, puede omitir la configuración de este dominio. *.core.windows.net
443 Usado por el entorno de ejecución de integración autohospedado que se conecta a la cuenta de Azure Storage para cargar copias de seguridad de base de datos desde el recurso compartido de red Si los archivos de copia de seguridad de la base de datos ya se proporcionan en una cuenta de almacenamiento de Azure, el entorno de ejecución de integración autohospedado no es necesario durante el proceso de migración.
Al usar el entorno de ejecución de integración autohospedado, asegúrese de que la máquina donde está instalado el entorno de ejecución puede conectarse a la instancia de SQL Server de origen y al recurso compartido de archivos de red donde se encuentran los archivos de copia de seguridad.
El puerto de salida 445 debe estar habilitado para acceder al recurso compartido de archivos de red.
Si usa Azure Database Migration Service por primera vez, asegúrese de que el proveedor de recursos Microsoft.DataMigration está registrado en la suscripción. Puede seguir los pasos para registrar el proveedor de recursos
Si el destino de la migración es Azure SQL Database, no necesita copias de seguridad para realizar esta migración. La migración a Azure SQL Database se considera una migración lógica que implica la creación previa y el movimiento de datos de la base de datos (realizada por DMS).
Automatización de migraciones de bases de datos
Con Az.DataMigration de Azure PowerShell o az datamigration de la CLI de Azure puede migrar bases de datos mediante la automatización de la creación de Azure Database Migration Service, la configuración de migraciones de base de datos para la migración en línea y la realización de una migración total. Hay varios comandos y funcionalidades más documentados en Ejemplos de Azure.
Ejemplo de automatización de la migración de una base de datos de SQL Server mediante la CLI de Azure: Paso 1: Creación de Azure Database Migration Service, que organizará las actividades de migración de la base de datos.
#STEP 1: Create Database Migration Service
az datamigration sql-service create --resource-group "myRG" --sql-migration-service-name "myMigrationService" --___location "EastUS2"
Paso 2: Configurar e iniciar la migración de la base de datos en línea del SQL Server local (con copias de seguridad en Azure Storage) a Azure SQL Managed Instance.
#STEP 2: Start Migration
az datamigration sql-managed-instance create `
--source-___location '{\"AzureBlob\":{\"storageAccountResourceId\":\"/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/dbbackupssqlbits\",\"accountKey\":\"myAccountKey\",\"blobContainerName\":\"dbbackups\"}}' `
--migration-service "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.DataMigration/SqlMigrationServices/myMigrationService" `
--scope "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/mySQLMI" `
--source-database-name "AdventureWorks2008" `
--source-sql-connection authentication="SqlAuthentication" data-source="mySQLServer" password="<password>" user-name="sqluser" `
--target-db-name "AdventureWorks2008" `
--resource-group myRG `
--managed-instance-name mySQLMI
Paso 3: Realizar una migración total una vez restauradas todas las copias de seguridad a Azure SQL Managed Instance.
#STEP 3: Get migration ID and perform Cutover
$migOpId = az datamigration sql-managed-instance show --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --expand=MigrationStatusDetails --query "properties.migrationOperationId"
az datamigration sql-managed-instance cutover --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --migration-operation-id $migOpId
Si recibe el error "La suscripción no está registrada para usar el espacio de nombres "Microsoft.DataMigration". Consulte https://aka.ms/rps-not-found para obtener información sobre cómo registrar suscripciones", ejecute el siguiente comando:
Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"