mastertulle
Goto Top

Wiederherstellung SQL Datenbank

Hallo liebe Community,

ich habe folgende Frage: Ich habe eine Datenbank per TDE verschlüsslt. Unter Datenbankoptionen habe ich die Verschlüssselung
ausgestellt (Checkbox).

Dann habe ich ein Voll-Backup erstellt und versucht dieses Backup auf einen anderen Server wiederherzutellen.
Dabei erhalte ich leider die Fehlermeldung, das "der fingerprint des Servers nicht gültig ist"

SQL Server Version 2008

Kann mir jemand evetuell helfen?

Liebe Grüße

Sven

Content-Key: 366086

Url: https://administrator.de/contentid/366086

Printed on: April 20, 2024 at 03:04 o'clock

Member: Grinskeks
Grinskeks Feb 26, 2018 at 15:11:15 (UTC)
Goto Top
Hallo Sven,

der Database Encryption Key muss auf dem Zielserver in der DB Master installiert sein, damit überhaupt auf die Datenbankdateien zugegriffen werden kann. So in der Art sieht das Prozedere aus:

-- Create a database master key and a certificate in the master database.  
USE master ;  
GO  
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '*rt@40(FL&dasl1';    
GO  
CREATE CERTIFICATE TestSQLServerCert   
WITH SUBJECT = 'Certificate to protect TDE key'    
GO  
-- Create a backup of the server certificate in the master database.  
-- The following code stores the backup of the certificate and the private key file in the default data location for this instance of SQL Server   
-- (C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA).  

BACKUP CERTIFICATE TestSQLServerCert   
TO FILE = 'TestSQLServerCert'    
WITH PRIVATE KEY   
(  
    FILE = 'SQLPrivateKeyFile',    
    ENCRYPTION BY PASSWORD = '*rt@40(FL&dasl1'    
);  
GO  
-- Create a database to be protected by TDE.  
CREATE DATABASE CustRecords ;  
GO  
-- Switch to the new database.  
-- Create a database encryption key, that is protected by the server certificate in the master database.   
-- Alter the new database to encrypt the database using TDE.  
USE CustRecords;  
GO  
CREATE DATABASE ENCRYPTION KEY  
WITH ALGORITHM = AES_128  
ENCRYPTION BY SERVER CERTIFICATE TestSQLServerCert;  
GO  
ALTER DATABASE CustRecords  
SET ENCRYPTION ON;  
GO  

Gruß
Grinskeks