1. Jeśli chcesz przywrócić zaszyfrowaną kopię zapasową na innym serwerze, jak zwykle, pojawia się następujący błąd
Cannot find server certificate with thumbprint …...
2. Znajdź nazwę certyfikatu: w tym przykładzie vestacert
SELECT * FROM sys.certificates
3. wykonaj kopię zapasową certyfikatu z serwera źródłowego (Source encryptedserver):
BACKUP CERTIFICATE vestacert
TO FILE = 'c:\Backup\certificate_TDE_Test_Certificate.cer'
WITH PRIVATE KEY
(FILE = 'c:\Backup\certificate_TDE_Test_Key.pvk',
ENCRYPTION BY PASSWORD = 'Password12#')
4. Utwórz nowy certyfikat główny na serwerze UAT, jeśli jeszcze nie istnieje
USE master GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'D1ffPa$$w0rd'
5. Przywróć kopię zapasową certyfikatów na serwerze UAT (UATserver)
CREATE CERTIFICATE vestacert2
FROM FILE = 'C:\tmp\certificate_TDE_Test_Certificate.cer'
WITH PRIVATE KEY (FILE = 'C:\tmp\LCMS\certificate_TDE_Test_Key.pvk',
DECRYPTION BY PASSWORD = 'Passsword12#')
6.Po tym kroku przywracanie kopii zapasowej nie powoduje błędu i wszystkie dane były czytelne.
7. Ale zabawne jest to, że zwykłe usunięcie szyfrowania i zrobienie nowej kopii zapasowej i przywrócenie jej na serwerze końcowym (Final Server) nie działa i powoduje następujący błąd Plik „mydb_log” nie został poprawnie zainicjowany. Sprawdź dzienniki błędów, aby uzyskać więcej informacji.
8. Prawidłowym sposobem usunięcia szyfrowania z UAT jest usunięcie wszystkich znaków, jak poniżej, krok po kroku i od dołu do góry
USE master
ALTER DATABASE mydb SET ENCRYPTION OFF
USE mydb
DROP DATABASE ENCRYPTION KEY
USE master
DROP CERTIFICATE vestacert2
DROP MASTER KEY
9. Teraz utwórz nową kopię zapasową z serwera UAT i przywróć ją do serwera końcowego
dobry artykuł: http://sqlserverzest.com/2013/10/03/sql-server-restoring-a-tde-encrypted-database-to-a-different-server/