Symptomen

U ondervindt problemen bij het migreren van een back-up van de database van SQL Server-Connector voor Microsoft Azure sleutel kluis 1.0.4.0 of een eerdere versie naar de SQL Server-Connector voor Microsoft Azure sleutel kluis 1.0.5.0.

Oorzaak

Een update is geïntroduceerd in versie 1.0.5.0 van SQL Server-Connector voor Microsoft Azure sleutel kluis die verandertde manier waarop het programma vingerafdrukken berekent. In deze versie de logica die wordt gebruikt door de motor van het programma ter ondersteuning van de volgende migratiescenario 1.0.5.0, deze berekening komt overeen met :

Van: Microsoft SQL Server die gebruikmaakt van Extensible Key Management (EKM) ruimten

Naar: Microsoft Azure SQL-Database die gebruikmaakt van doen om uw eigen sleutel (BYOK) ondersteuning voor Transparante gegevens codering (TDE)

Door deze wijziging kan er problemen optreden bij het terugzetten van back-ups van versie 1.0.4.0 of een eerdere versie.

Oplossing

Kopieer de SQL Server-Connector voor Microsoft Azure sleutel kluis 1.0.4.0 of een eerdere versie naar de server sql2 exemplaar.

  1. De volgende query uitvoeren op de server sql2 versie 1.0.4.0 CRYPTOGRAPHIC PROVIDER wijzigen.

    ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVaultProvider

    = UIT BESTAND

    'FilePath\FileName\SQL Server-Connector voor de sleutel Vault\1.0.4.0\Microsoft.AzureKeyVaultService.EKM.dll Microsoft Azure'

  2. Maak een nieuwe asymmetrische sleutel met behulp van de 1.0.4.0 provider.

    TDE_KEY_1040 VOOR ASYMMETRISCHE SLEUTELS MAKEN

    VAN PROVIDER AzureKeyVaultProvider

    MET PROVIDER_KEY_NAME = 'key1',

    CREATION_DISPOSITION = OPEN_EXISTING

    Nu moet u de back-up te herstellen.

  3. De volgende query uitvoeren op de sql2 de CRYPTOGRAFIEPROVIDER 1.0.5.0 versie herstellen.

    ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVaultProvider

    = UIT BESTAND

    'FilePath\FileName\SQL Server-Connector voor de sleutel Vault\1.0.5.0\Microsoft.AzureKeyVaultService.EKM.dll Microsoft Azure'

  4. Om te kunnen gebruiken van de nieuwe vingerafdruk, de volgende query uitvoeren met behulp van dezelfde asymmetrische sleutel of de nieuwe versie asymmetrische sleutel.

    ALTER DATABASE CODERINGSSLEUTEL

    CODERING met asymmetrische sleutels KeyName1050Version SERVER

Meer informatie

Stel dat u de volgende exemplaren van Microsoft SQL Server implementeren:

  • Sql1 van SQL Server-exemplaar heeft SQL Server-Connector voor Microsoft Azure sleutel kluis 1.0.4.0 geïmplementeerd.

  • Sql2 van SQL Server-exemplaar heeft SQL Server-Connector voor Microsoft Azure sleutel kluis 1.0.5.0 geïmplementeerd.

De volgende query wordt gebruikt om exemplaren van de sql1 en de sql2 voor de implementatie van een asymmetrische sleutel uit dezelfde asymmetrische sleutel in Azure sleutel kluis te maken.

CREATE ASYMMETRIC KEY TDE_KEY

FROM PROVIDER AzureKeyVaultProvider

WITH PROVIDER_KEY_NAME = 'key1',

CREATION_DISPOSITION = OPEN_EXISTING

U ziet dat de vingerafdrukken lengte verschillen. De vingerafdruk versie 1.0.5.0 is langer dan de versie 1.0.4.0 vingerafdruk.

Voorbeeld van 1.0.4.0 vingerafdruk:

- 0x2C5677D76F76D77F80

Voorbeeld van versie 1.0.5.0 vingerafdruk:

- 0x373B314B78E8D59A0925494558FEF14B726216C5

Notitie   Beide asymmetrische sleutels worden gemaakt van dezelfde bron.

Deze wijziging zorgt ervoor dat probleem zich voordoen tijdens back-up- en terugzetbewerkingen.

Voorbeeld:

  • U hebt een databaseback-up is gecodeerd met een asymmetrische sleutel in Azure sleutel kluis in de sql1 instantie.

  • De sql2 instantie heeft een asymmetrische sleutel gemaakt.

Als u probeert te herstellen van de back-up van het exemplaar van de sql2, het herstellen is mislukt en retourneert een foutbericht met de volgende strekking weergegeven:

Msg 33111, niveau 16, 4, lijn LineNumber staat

Asymmetrische sleutel van de server met vingerafdruk '0x2C5677D76F76D77F80' kan niet vinden.

De query voor het ophalen van de vingerafdruk van elke sleutel is als volgt:

select thumbprint,* from master.sys.asymmetric_keys

De query voor het ophalen van de vingerafdruk van elke database TDE is als volgt:

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

Status

Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?

Bedankt voor uw feedback.

×