Síntomas

Experimenta problemas al intentar migrar una copia de seguridad de la base de datos de SQL Server Connector para Microsoft Azure clave depósito 1.0.4.0 o una versión anterior a SQL Server Connector para Microsoft Azure clave depósito 1.0.5.0.

Causa

Una actualización se introdujo en la versión 1.0.5.0 del conector de SQL Server para que los cambios de Microsoft Azure clave de depósitola forma en que el programa calcula huellas digitales. En la versión 1.0.5.0, que coincide con este cálculo la lógica que utiliza el motor del programa para este escenario de migración siguientes:

De: En instalaciones de Microsoft SQL Server que utiliza la administración Extensible de claves (EKM)

En: Microsoft Azure SQL la base de datos que utiliza la compatibilidad con El cifrado de datos transparente (TDE) Traer su propia clave (BYOK)

Debido a este cambio, puede experimentar problemas cuando intenta restaurar las copias de seguridad de base de datos de la versión 1.0.4.0 o una versión anterior.

Solución

Copiar el conector de SQL Server para Microsoft Azure clave depósito 1.0.4.0 o una versión anterior en el servidor de instancia sql2.

  1. Ejecute la consulta siguiente en el servidor de sql2 para cambiar el proveedor de cifrado a la versión 1.0.4.0.

    ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVaultProvider

    ARCHIVO =

    'FilePath\FileName\SQL Server Connector para Microsoft Azure clave Vault\1.0.4.0\Microsoft.AzureKeyVaultService.EKM.dll'

  2. Crear una nueva clave asimétrica mediante la 1.0.4.0 proveedor.

    CREAR TDE_KEY_1040 DE CLAVE ASIMÉTRICA

    DE proveedor AzureKeyVaultProvider

    CON PROVIDER_KEY_NAME = 'key1 '

    CREATION_DISPOSITION = OPEN_EXISTING

    Ahora debería ser capaz de restaurar la copia de seguridad.

  3. Ejecute la siguiente consulta en sql2 para revertir el CRYPTOGRAPHIC PROVIDER versión 1.0.5.0.

    ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVaultProvider

    ARCHIVO =

    'FilePath\FileName\SQL Server Connector para Microsoft Azure clave Vault\1.0.5.0\Microsoft.AzureKeyVaultService.EKM.dll'

  4. Para poder utilizar la huella digital nuevo, ejecute la consulta siguiente utilizando la misma clave asimétrica o la clave asimétrica de versión nuevo.

    ALTER DATABASE ENCRYPTION KEY

    CIFRADO por servidor KeyName1050Version de clave ASIMÉTRICA

Más información

Supongamos que implemente las siguientes instancias de Microsoft SQL Server:

  • Sql1 de la instancia de SQL Server tiene conector de SQL Server para Microsoft Azure clave depósito 1.0.4.0 implementado.

  • Sql2 de la instancia de SQL Server tiene conector de SQL Server para Microsoft Azure clave depósito 1.0.5.0 implementado.

La siguiente consulta se utiliza para crear instancias de la sql1 y sql2 para implementar una clave ASIMÉTRICA desde la misma clave ASIMÉTRICA en Azure clave de bóveda.

CREATE ASYMMETRIC KEY TDE_KEY

FROM PROVIDER AzureKeyVaultProvider

WITH PROVIDER_KEY_NAME = 'key1',

CREATION_DISPOSITION = OPEN_EXISTING

Observe que las longitudes de huellas digitales difieren. La huella digital de la versión 1.0.5.0 es mayor que la huella digital de la versión 1.0.4.0.

Ejemplo de 1.0.4.0 huella digital:

- 0x2C5677D76F76D77F80

Ejemplo de la huella digital de la versión 1.0.5.0:

- 0x373B314B78E8D59A0925494558FEF14B726216C5

Nota   Las claves asimétricas se crean desde el mismo origen.

El cambio provoca problemas que se producen durante el backup y restore de las operaciones.

Ejemplo:

  • Tener una copia de seguridad de la base de datos que se cifra mediante una clave asimétrica en Azure clave de bóveda en la instancia de sql1.

  • La instancia de sql2 tiene una clave asimétrica que se creó.

Si intenta restaurar la copia de seguridad de la instancia de sql2, la restauración falla y devuelve un mensaje de error similar al siguiente:

Msj 33111, nivel 16, estado 4, línea LineNumber

No se puede encontrar la clave asimétrica del servidor con la huella digital '0x2C5677D76F76D77F80'.

La consulta para recuperar la huella digital de cada clave es la siguiente:

select thumbprint,* from master.sys.asymmetric_keys

La consulta para recuperar la huella digital de cada base de datos TDE es el siguiente:

select DatabaseName(ddek.database_id) as DatabaseName,ak.name as[Asymmetric key Name], ak.thumbprint From sys.dm_database_encryption_keys ddek inner join master.sys.asymmetric_keys ak on ak.thumbprint=ddek.encryptor_thumbprint

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×