Restaure una base de datos en SQL Server 2022 desde Azure SQL Managed Instance

Se aplica a:Azure SQL Managed Instance

En este artículo se describe cómo restaurar una copia de seguridad de base de datos desde Azure SQL Managed Instance en SQL Server 2022.

Información general

La alineación del formato de base de datos entre SQL Managed Instance y SQL Server 2022 le ofrece una forma sencilla de copiar o mover bases de datos desde su instancia administrada a una edición Enterprise, Developer o Standard de SQL Server 2022 hospedada en sus instalaciones, en máquinas virtuales en Azure o en otras nubes.

La restauración de bases de datos desde instancias administradas en instancias de SQL Server 2022 desbloquea los siguientes escenarios:

  • Garantiza la movilidad de bases de datos entre SQL Managed Instance y productos basados en SQL Server.
  • Proporciona copias de base de datos a los clientes y a otras partes aptas.
  • Actualiza los entornos fuera de SQL Managed Instance.

La capacidad de restaurar copias de seguridad completas de solo copia de bases de datos desde SQL Managed Instance a SQL Server 2022 está disponible de forma predeterminada en todas las instancias existentes y en las nuevas que se han implementado.

Importante

La capacidad de restaurar copias de seguridad completas de solo copia de bases de datos desde SQL Managed Instance a SQL Server 2022 estará disponible hasta que finalice el soporte estándar para SQL Server 2022.

Realización de copias de seguridad en SQL Managed Instance

En primer lugar, cree una credencial para acceder a la cuenta de almacenamiento desde la instancia, realice una copia de seguridad de solo copia de la base de datos y, a continuación, almacénela.

Puede crear la credencial mediante una identidad administrada o un token de firma de acceso compartido (SAS).

Una identidad administrada es una característica de Microsoft Entra ID (anteriormente Azure Active Directory) que proporciona instancias de servicios de Azure, como Azure SQL Managed Instance, con una identidad administrada automáticamente en Microsoft Entra ID, la identidad administrada asignada por el sistema.

Puede usar esta identidad para autorizar solicitudes de acceso a datos a otros recursos de Azure, incluidas las cuentas de almacenamiento. Los servicios como Azure SQL Managed Instance tienen una identidad administrada asignada por el sistema y también pueden tener una o varias identidades administradas asignadas por el usuario. Puede usar identidades administradas asignadas por el sistema o identidades administradas asignadas por el usuario para autorizar las solicitudes.

Antes de que el administrador de almacenamiento de Azure escriba un archivo de copia de seguridad en una cuenta de almacenamiento, debe conceder permisos a la identidad administrada para escribir los datos. La concesión de permisos a la identidad administrada de la instancia se realiza de la misma forma que la concesión de permisos a cualquier otro usuario de Microsoft Entra. Por ejemplo:

  1. En Azure Portal, en el panel Control de acceso (IAM) de una cuenta de almacenamiento, seleccione Agregar asignación de roles.

  2. Seleccione el rol de control de acceso basado en rol (RBAC) de Azure integrado Colaborador de datos de Storage Blob. Esto proporciona acceso de lectura o escritura a la identidad administrada para los contenedores necesarios de Azure Blob Storage.

    En lugar de conceder a la identidad administrada el rol RBAC de Azure Colaborador de datos de Storage Blob, puede conceder permisos más específicos. Para obtener más información, consulte Establecer las ACL en Azure Data Lake Storage Gen2.

  3. En la página siguiente, para Asignar acceso a, seleccione Identidad administrada.

  4. Elija Seleccionar miembros y, a continuación, en la lista desplegable Identidad administrada, seleccione la identidad administrada adecuada. Para más información, consulte Asignación de roles de Azure mediante Azure Portal.

Ahora, la creación de credenciales con ámbito de base de datos para la autenticación de identidad administrada es sencilla.

En el ejemplo siguiente, tenga en cuenta que Managed Identity es una cadena codificada de forma rígida y debe reemplazar el nombre de la cuenta de almacenamiento genérica por el nombre de la cuenta de almacenamiento real:

CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<containername>] 
WITH IDENTITY = 'MANAGED IDENTITY'  

A continuación, realice una copia de seguridad COPY_ONLY de la base de datos mediante la ejecución del siguiente comando T-SQL de ejemplo:

BACKUP DATABASE [SampleDB]
TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH COPY_ONLY

Restauración en SQL Server

Restaure la base de datos en SQL Server mediante la opción WITH MOVE del comando RESTORE DATABASE de T-SQL y proporcione rutas de acceso de archivo explícitas para los archivos en el servidor de destino.

Para restaurar la base de datos en SQL Server, ejecute el siguiente comando de T-SQL de ejemplo con rutas de acceso de archivos adecuadas para su entorno:

RESTORE DATABASE [SampleDB]
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH
MOVE 'data_0' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_data_0.mdf',
MOVE 'log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDBlog.ldf',
MOVE 'XTP' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_xtp.xtp'

Nota

Para restaurar bases de datos cifradas en reposo mediante Cifrado de datos transparente (TDE), la instancia de destino de SQL Server debe tener acceso a la misma clave que se usa para proteger la base de datos de origen a través del conector de SQL Server para Azure Key Vault. Para obtener más información, consulte Configuración de SQL Server TDE con AKV.

Consideraciones

Al restaurar una base de datos en SQL Server, tenga en cuenta lo siguiente:

  • Debe usar el calificador WITH MOVE y proporcionar rutas de acceso explícitas para los archivos de datos.
  • Las bases de datos cifradas con claves TDE administradas por el servicio no se pueden restaurar en SQL Server. Solo puede restaurar una base de datos cifrada en SQL Server si se cifró con una clave administrada por el cliente y el servidor de destino tiene acceso a la misma clave que se usa para cifrar la base de datos. Para más información, consulte Configuración de TDE de SQL Server con Azure Key Vault.
  • En el futuro, podrían introducirse algunas características en Azure SQL Managed Instance que requieran cambios en el formato de la base de datos, lo que haría que las copias de seguridad fueran incompatibles con SQL Server 2022. El acceso a este tipo de características requerirá participación explícita.

Pasos siguientes