Transparent Data Encryption (TDE)
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Transparente Datenverschlüsselung (TDE) verschlüsselt SQL Server-, Azure SQL-Datenbank- und Azure Synapse Analytics-Datendateien. Diese Verschlüsselung ist auch als Verschlüsselung von ruhenden Daten bekannt.
Um eine Benutzerdatenbank zu schützen, können Sie Vorkehrungen treffen wie:
- Entwerfen eines sicheren Systems
- Verschlüsseln vertraulicher Ressourcen
- Erstellen einer Firewall für die Datenbankserver
Eine böswillige Partei, die physische Medien wie Laufwerke oder Sicherungsbänder stiehlt, kann die Datenbank jedoch wiederherstellen oder anfügen und ihre Daten durchsuchen.
Eine Lösung dieses Problems besteht darin, die sensiblen Daten in einer Datenbank zu verschlüsseln und ein Zertifikat zum Schützen der Schlüssel zu verwenden, die die Daten verschlüsseln. Mit dieser Lösung wird verhindert, dass Personen ohne die Schlüssel die Daten verwenden können. Diese Art von Schutz müssen Sie jedoch im Voraus planen.
TDE führt die E/A-Verschlüsselung und -Entschlüsselung von Daten- und Protokolldateien in Echtzeit durch. Die Verschlüsselung nutzt einen DEK (Database Encryption Key, Datenbankverschlüsselungsschlüssel). Der Datenbankstartdatensatz speichert den Schlüssel, damit er für die Wiederherstellung verfügbar ist. Der DEK ist ein symmetrischer Schlüssel. Es wird durch ein Zertifikat gesichert, das die Datenbank des master
Servers speichert oder durch einen asymmetrischen Schlüssel, den ein EKM-Modul schützt.
TDE schützt ruhende Daten, also die Daten- und Protokolldateien. Sie entspricht den in vielen Branchen etablierten Gesetzen, Bestimmungen und Richtlinien. Dadurch können Softwareentwickler Daten mithilfe der AES- und 3DES-Verschlüsselungsalgorithmen verschlüsseln, ohne vorhandene Anwendungen ändern zu müssen.
Hinweis
TDE ist für Systemdatenbanken nicht verfügbar. Sie kann nicht zum Verschlüsseln von Master, Modell oder msdb
. tempdb
wird automatisch verschlüsselt, wenn eine Benutzerdatenbank TDE aktiviert hat, aber nicht direkt verschlüsselt werden kann.
Wichtig
TDE stellt keine Verschlüsselung über Kommunikationskanäle bereit. Weitere Informationen zum Verschlüsseln von Daten über Kommunikationskanäle finden Sie unter Aktivieren von verschlüsselten Verbindungen für die Datenbank-Engine (SQL Server-Konfigurations-Manager).
Verwandte Themen:
- TDE (Transparent Data Encryption) für SQL-Datenbank, SQL Managed Instance und Azure Synapse Analytics
- Erste Schritte mit Transparent Data Encryption (TDE) in Azure Synapse Analytics
- Verschieben einer TDE-geschützten Datenbank auf einen anderen SQL-Server
- Aktivieren von TDE in SQL Server mithilfe von EKM
- Verwenden von SQL Server-Connector mit SQL-Verschlüsselungsfunktionen
- SQL Server Security Blog on TDE with FAQ (SQL Server Blog zu Sicherheitsthemen über TDE mit FAQ)
Informationen zu TDE
Die Verschlüsselung der Datenbankdatei erfolgt auf Seitenebene. In einer verschlüsselten Datenbank werden die Seiten verschlüsselt, bevor sie auf den Datenträger geschrieben werden, und entschlüsselt, wenn sie in den Arbeitsspeicher gelesen werden. TDE erhöht nicht die Größe der verschlüsselten Datenbank.
Informationen, die für SQL-Datenbank gelten
Wenn Sie TDE mit Azure SQL-Datenbank verwenden, erstellt SQL-Datenbank automatisch das in der master
Datenbank gespeicherte Zertifikat auf Serverebene. Um eine TDE-Datenbank in der SQL-Datenbank zu verschieben, müssen Sie die Datenbank für den Verschiebungsvorgang nicht entschlüsseln. Weitere Informationen zur Verwendung von TDE mit SQL-Datenbank finden Sie unter transparenter Datenverschlüsselung mit Azure SQL-Datenbank.
Informationen, die für SQL Server gelten
Nachdem Sie eine Datenbank gesichert haben, können Sie diese mithilfe des richtigen Zertifikats wiederherstellen. Weitere Informationen zu Zertifikaten finden Sie unter SQL Server Certificates and Asymmetric Keys.
Sobald Sie TDE aktiviert haben, sollten Sie umgehend das Zertifikat und den zugehörigen privaten Schlüssel sichern. Wenn das Zertifikat nicht mehr verfügbar ist oder Sie die Datenbank auf einem anderen Server wiederherstellen oder anfügen, benötigen Sie Sicherungen des Zertifikats und des privaten Schlüssels. Andernfalls können Sie die Datenbank nicht öffnen.
Behalten Sie das verschlüsselnde Zertifikat, selbst wenn Sie TDE für die Datenbank deaktiviert haben. Obwohl die Datenbank nicht verschlüsselt wird, werden Teile des Transaktionsprotokolls möglicherweise weiterhin geschützt. Möglicherweise benötigen Sie das Zertifikat auch für einige Vorgänge, bis Sie eine vollständige Datenbanksicherung durchgeführt haben.
Sie können ein Zertifikat, dessen Ablaufdatum überschritten wurde, weiterhin zum Verschlüsseln und Entschlüsseln von Daten mit TDE verwenden.
Verschlüsselungshierarchie
Die Windows Data Protection-API (DPAPI) befindet sich im Stamm der Verschlüsselungsstruktur, sichert die Schlüsselhierarchie auf Computerebene und wird verwendet, um den Dienstmasterschlüssel (SMK) für die Datenbankserverinstanz zu schützen. Der SMK schützt den Datenbankmasterschlüssel (DMK), der auf Benutzerdatenbankebene gespeichert ist, und schützt Zertifikate und asymmetrische Schlüssel. Diese Schlüssel schützen wiederum symmetrische Schlüssel, die die Daten schützen. TDE verwendet eine ähnliche Hierarchie bis zum Zertifikat. Wenn Sie TDE verwenden, muss das DMK und das Zertifikat in der master
Datenbank gespeichert werden. Ein neuer Schlüssel, der nur für TDE verwendet wird und als Datenbankverschlüsselungsschlüssel (DEK) bezeichnet wird, wird erstellt und in der Benutzerdatenbank gespeichert.
Die folgende Abbildung zeigt die Architektur der TDE-Verschlüsselung. Nur die Elemente auf Datenbankebene (datenbankverschlüsselungsschlüssel und ALTER DATABASE-Teile) können benutzerkonfiguriert werden, wenn Sie TDE in SQL-Datenbank verwenden.
Aktivieren von TDE
Führen Sie folgende Schritte aus, um TDE zu verwenden:
Gilt für: SQL Server.
Erstellen Sie einen Hautschlüssel.
Erstellen oder beziehen Sie ein vom Hauptschlüssel geschütztes Zertifikat.
Erstellen Sie einen Verschlüsselungsschlüssel für die Datenbank, und schützen Sie ihn mithilfe des Zertifikats.
Legen Sie die Verschlüsselung für die Datenbank fest.
Im folgenden Beispiel wird die Verschlüsselung und Entschlüsselung der AdventureWorks2022
-Datenbank mithilfe eines Zertifikats namens MyServerCert
veranschaulicht, das auf dem Server installiert ist.
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>';
GO
CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My DEK Certificate';
GO
USE AdventureWorks2022;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
ALTER DATABASE AdventureWorks2022
SET ENCRYPTION ON;
GO
Die Verschlüsselungs- und Entschlüsselungsvorgänge werden von SQL Server in geplanten Hintergrundthreads ausgeführt. Verwenden Sie die Katalogsichten und dynamischen Verwaltungssichten der Tabelle, die im späteren Verlauf dieses Artikels gezeigt wird, um den Status dieser Vorgänge anzuzeigen.
Achtung
Sicherungsdateien für Datenbanken, für die TDE aktiviert wurde, werden ebenfalls mit dem Datenbankverschlüsselungsschlüssel verschlüsselt. Darum muss bei der Wiederherstellung dieser Sicherungen das Zertifikat, das zum Verschlüsseln des Verschlüsselungsschlüssels für die Datenbank verwendet wurde, verfügbar sein. Stellen Sie daher zusätzlich zum Sichern der Datenbank sicher, dass Sie Sicherungen der Serverzertifikate anlegen. Wenn die Zertifikate nicht mehr verfügbar sind, kann es zu Datenverlust kommen.
Weitere Informationen finden Sie unter SQL Server Certificates and Asymmetric Keys.
Befehle und Funktionen
Damit die folgenden Anweisungen TDE-Zertifikate akzeptieren, verwenden Sie einen Datenbankhauptschlüssel, um sie zu verschlüsseln. Wenn Sie diese nur mit einem Kennwort verschlüsseln, lehnen die Anweisungen die Verschlüsselungen ab.
Wichtig
Wenn Sie das Zertifikatkennwort schützen, nachdem es von TDE verwendet wird, kann nach einem Neustart nicht auf die Datenbank zugegriffen werden.
Die folgende Tabelle bietet Links und Erläuterungen zu den Befehlen und Funktionen von TDE:
Befehl oder Funktion | Zweck |
---|---|
CREATE DATABASE ENCRYPTION KEY (Transact-SQL) | Erstellt einen Schlüssel, der die Datenbank verschlüsselt |
ALTER DATABASE ENCRYPTION KEY (Transact-SQL) | Ändert den Schlüssel, der die Datenbank verschlüsselt |
DROP DATABASE ENCRYPTION KEY (Transact-SQL) | Entfernt den Schlüssel, der die Datenbank verschlüsselt |
ALTER DATABASE SET-Optionen (Transact-SQL) | Erklärt die ALTER DATABASE-Option, mit der TDE aktiviert wird |
Katalogsichten und dynamische Verwaltungssichten
In der folgenden Tabelle werden die Katalogsichten und die dynamischen Verwaltungssichten von TDE erläutert.
Katalogsicht oder dynamische Verwaltungssicht | Zweck |
---|---|
sys.databases (Transact-SQL) | Katalogsicht, die Datenbankinformationen anzeigt |
sys.certificates (Transact-SQL) | Katalogsicht, die die Zertifikate in einer Datenbank anzeigt |
sys.dm_database_encryption_keys (Transact-SQL) | Dynamische Verwaltungssicht, die Informationen zu den Verschlüsselungsschlüsseln einer Datenbank und dem Zustand der Verschlüsselung bereitstellt |
Berechtigungen
Jede Funktion und jeder Befehl von TDE erfordert bestimmte Berechtigungen, die in den zuvor gezeigten Tabellen beschrieben wurden.
Zum Anzeigen der Metadaten, die im Zusammenhang mit TDE stehen, ist die VIEW DEFINITION-Berechtigung für ein Zertifikat erforderlich.
Überlegungen
Während eine erneute Verschlüsselungsprüfung für einen Datenbankverschlüsselungsvorgang ausgeführt wird, sind Wartungsvorgänge für die Datenbank deaktiviert. Sie können den Einzelbenutzermodus für die Datenbank verwenden, um Wartungsvorgänge durchzuführen. Weitere Informationen finden Sie unter So legen Sie den Einzelbenutzermodus für eine Datenbank fest.
Verwenden Sie die sys.dm_database_encryption_keys
dynamische Verwaltungsansicht, um den Status der Datenbankverschlüsselung zu ermitteln. Weitere Informationen finden Sie im Abschnitt „Katalogsichten und dynamische Verwaltungssichten“ weiter oben in diesem Artikel.
Bei TDE werden alle Dateien und Dateigruppen in einer Datenbank verschlüsselt. Wenn eine Dateigruppe in einer Datenbank als READ ONLY gekennzeichnet ist, schlägt der Datenbankverschlüsselungsvorgang fehl.
Wenn Sie eine Datenbank bei der Datenbankspiegelung oder beim Protokollversand verwenden, werden beide Datenbanken verschlüsselt. Die Protokolltransaktionen werden für die Übertragung zwischen den Datenbanken verschlüsselt.
Wichtig
Volltextindizes werden verschlüsselt, wenn für eine Datenbank die Verschlüsselung festgelegt ist. Solche Indizes, die in einer SQL Server-Version vor SQL Server 2008 erstellt wurden, werden von SQL Server 2008 oder höher in die Datenbank importiert und von TDE verschlüsselt.
Tipp
Verwenden Sie SQL Server Audit oder SQL-Datenbanküberwachung, um die Veränderungen im TDE-Status einer Datenbank zu überwachen. Bei SQL Server wird TDE unter der Überwachungsaktionsgruppe DATABASE_CHANGE_GROUP nachverfolgt, die Sie in SQL Server Audit-Aktionsgruppen und -Aktionen finden können.
Beschränkungen
Die folgende Vorgänge sind während der ersten Datenbankverschlüsselung, einer Schlüsseländerung oder der Datenbankentschlüsselung nicht erlaubt:
Löschen einer Datei aus einer Dateigruppe in einer Datenbank
Löschen einer Datenbank
Offlineschalten einer Datenbank
Trennen einer Datenbank
Versetzen einer Datenbank oder einer Dateigruppe in den READ ONLY-Zustand
Die folgenden Vorgänge sind während der CREATE DATABASE ENCRYPTION KEY
Anweisungen , ALTER DATABASE ENCRYPTION KEY
, , DROP DATABASE ENCRYPTION KEY
und ALTER DATABASE...SET ENCRYPTION
Anweisungen unzulässig:
Löschen einer Datei aus einer Dateigruppe in einer Datenbank
Löschen einer Datenbank
Offlineschalten einer Datenbank
Trennen einer Datenbank
Versetzen einer Datenbank oder einer Dateigruppe in den READ ONLY-Zustand
Verwenden eines ALTER DATABASE-Befehls
Starten einer Datenbank- oder Datenbankdateisicherung
Starten einer Datenbank- oder Datenbankdateiwiederherstellung
Erstellen einer Momentaufnahme
Die folgenden Vorgänge oder Bedingungen verhindern die CREATE DATABASE ENCRYPTION KEY
, ALTER DATABASE ENCRYPTION KEY
, , DROP DATABASE ENCRYPTION KEY
und ALTER DATABASE...SET ENCRYPTION
Anweisungen:
Eine Datenbank ist schreibgeschützt oder enthält schreibgeschützte Dateigruppen.
Ein ALTER DATABASE-Befehl wird ausgeführt.
Eine Datensicherung wird ausgeführt.
Eine Datenbank ist offline geschaltet oder wird wiederhergestellt.
Eine Momentaufnahme wird ausgeführt.
Es werden Datenbankwartungstasks ausgeführt.
Wenn TDE aktiviert ist, ist die Dateiinitialisierung beim Erstellen von Datenbankdateien nicht verfügbar.
Der asymmetrische Schlüssel muss sich auf einem erweiterbaren Schlüsselverwaltungsanbieter befinden, um einen Datenbankverschlüsselungsschlüssel mit einem asymmetrischen Schlüssel zu verschlüsseln.
TDE-Überprüfung
Um TDE für eine Datenbank zu aktivieren, muss SQL Server eine Verschlüsselungsüberprüfung durchführen. Der Scan liest alle Seiten der Datendateien in den Pufferpool und schreib die verschlüsselten Seiten dann wieder auf den Datenträger.
Um Ihnen mehr Kontrolle über die Verschlüsselungsüberprüfung zu geben, führt SQL Server 2019 (15.x) den TDE-Scan ein, der eine Syntax zum Anhalten und Fortsetzen enthält. Wenn die Arbeitsauslastung des Systems sehr hoch ist oder während geschäftskritischen Zeiten, können Sie den Scan pausieren und später fortsetzen.
Verwenden Sie die folgende Syntax, um den TDE-Verschlüsselungsscan anzuhalten:
ALTER DATABASE <db_name> SET ENCRYPTION SUSPEND;
Auf ähnliche Weise können Sie den TDE-Verschlüsselungsscan mithilfe der folgenden Syntax fortsetzen:
ALTER DATABASE <db_name> SET ENCRYPTION RESUME;
Die Spalte encryption_scan_state wurde der sys.dm_database_encryption_keys
dynamischen Verwaltungsansicht hinzugefügt. Diese zeigt den aktuellen Zustand des Verschlüsselungsscans an. Außerdem wurde eine neue Spalte namens „encryption_scan_modify_date“ hinzugefügt, die das Datum und die Uhrzeit der letzten Änderung des Status des Verschlüsselungsscans enthält.
Wenn die SQL Server-Instanz neu gestartet wird, während der Verschlüsselungsscan angehalten wird, wird beim Start eine Meldung im Fehlerprotokoll protokolliert. Die Meldung gibt an, dass ein bestehender Scan angehalten wurde.
Wichtig
Das Feature zum Anhalten und Fortsetzen der TDE-Überprüfung ist derzeit in Azure SQL-Datenbank, Azure SQL Managed Instance und Azure Synapse Analytics nicht verfügbar.
TDE und Transaktionsprotokolle
Wenn eine Datenbank TDE verwendet, wird der restliche Teil des aktuellen virtuellen Transaktionsprotokolls entfernt. Die Entfernung erzwingt die Erstellung des nächsten Transaktionsprotokolls. Dieses Verhalten gewährleistet, dass kein Klartext in en Protokollen verbleibt, nachdem die Datenbank für die Verschlüsselung eingerichtet wurde.
Den Status der Protokolldateiverschlüsselung finden Sie wie im folgenden Beispiel gezeigt in der encryption_state
-Spalte der sys.dm_database_encryption_keys
-Sicht:
USE AdventureWorks2022;
GO
/* The value 3 represents an encrypted state
on the database and transaction logs. */
SELECT *
FROM sys.dm_database_encryption_keys
WHERE encryption_state = 3;
GO
Weitere Informationen zur SQL Server-Protokolldateiarchitektur finden Sie im Transaktionsprotokoll (SQL Server).For more information about the SQL Server log-file architecture, see The Transaction Log (SQL Server).
Bevor ein Datenbankverschlüsselungsschlüssel geändert wird, verschlüsselt der vorherige Datenbankverschlüsselungsschlüssel alle Daten, die in das Transaktionsprotokoll geschrieben werden.
Wenn Sie einen Datenbankverschlüsselungsschlüssel zweimal ändern, müssen Sie eine Protokollsicherung anlegen, bevor Sie den Datenbankverschlüsselungsschlüssel wieder ändern können.
TDE und die tempdb
Systemdatenbank
Die tempdb
Systemdatenbank wird verschlüsselt, wenn eine andere Datenbank in der SQL Server-Instanz mithilfe von TDE verschlüsselt wird. Diese Verschlüsselung kann sich auf die Leistung unverschlüsselter Datenbanken der gleichen SQL Server-Instanz auswirken. Weitere Informationen zur Systemdatenbank finden Sie in der tempdb
tempdb-Datenbank.
TDE und Replikation
Daten aus einer TDE-aktivierten Datenbank werden bei der Replikation nicht automatisch in einer verschlüsselten Form repliziert. Sie müssen TDE separat aktivieren, wenn Sie die Verteilungs- und Abonnentendatenbanken schützen möchten.
Die Momentaufnahmereplikation kann Daten in nicht verschlüsselten Zwischendateien wie BCP-Dateien speichern. Dies gilt auch für die erste Datenverteilung für Transaktionsdaten und die Mergereplikation. Während einer solchen Replikation können Sie die Verschlüsselung aktivieren, um den Kommunikationskanal zu schützen.
Weitere Informationen finden Sie unter Aktivieren von verschlüsselten Verbindungen zur Datenbank-Engine (SQL Server-Konfigurations-Manager).
TDE- und Verfügbarkeitsgruppen
Sie können einer Verfügbarkeitsgruppe eine verschlüsselte Datenbank hinzufügen.
Erstellen Sie den Hauptschlüssel und Zertifikate oder einen asymmetrischen Schlüssel (EKM) auf allen sekundären Replikaten, um die Datenbanken zu verschlüsseln, die Mitglied einer Verfügbarkeitsgruppe sind, bevor Sie den Datenbankverschlüsselungsschlüssel auf dem primären Replikat erstellen.
Wenn zum Schutz des Datenbankverschlüsselungsschlüssels (DEK) ein Zertifikat verwendet wird, sichern Sie das auf dem primären Replikat erstellte Zertifikat, und erstellen Sie dann das Zertifikat aus einer Datei auf allen sekundären Replikaten, bevor Sie den Datenbankverschlüsselungsschlüssel auf dem primären Replikat erstellen.
TDE und FILESTREAM-Daten
FILESTREAM-Daten werden nicht verschlüsselt, selbst wenn Sie TDE aktivieren.
TDE und Sicherungen
Zertifikate werden häufig in der transparenten Datenverschlüsselung verwendet, um den Datenbankverschlüsselungsschlüssel (Database Encryption Key, DEK) zu schützen. Das Zertifikat muss in der master
Datenbank erstellt werden. Sicherungsdateien von Datenbanken, für die TDE aktiviert wurde, werden ebenfalls mithilfe des Verschlüsselungsschlüssels für die Datenbank verschlüsselt. Wenn Sie daher aus diesen Sicherungen wiederherstellen, muss das Zertifikat, das den Datenbankverschlüsselungsschlüssel schützt, verfügbar sein. Dies bedeutet, dass Sie zusätzlich zum Sichern der Datenbank Sicherungen der Serverzertifikate verwalten müssen, um Datenverluste zu verhindern. Ist das Zertifikat nicht mehr verfügbar, kann es zu einem Datenverlust kommen.
Entfernen von TDE
Mithilfe der ALTER DATABASE
-Anweisung können Sie die Verschlüsselung einer Datenbank entfernen.
ALTER DATABASE <db_name> SET ENCRYPTION OFF;
Der Status der Datenbank wird mit der dynamischen Verwaltungssicht sys.dm_database_encryption_keys angezeigt.
Warten Sie, bis die Entschlüsselung abgeschlossen ist, bevor Sie den Datenbankverschlüsselungsschlüssel mithilfe von DROP DATABASE ENCRYPTION KEY entfernen.
Wichtig
Sichern Sie Hauptschlüssel und Zertifikat, die für TDE verwendet werden, an einem sicheren Speicherort. Der Hauptschlüssel und das Zertifikat sind erforderlich, um Sicherungen wiederherzustellen, die erstellt wurden, solange die Datenbank mit TDE verschlüsselt war. Nach Entfernung des Datenbankverschlüsselungsschlüssels erstellen Sie eine Protokollsicherung und dann eine neue vollständige Sicherung der verschlüsselten Datenbank.
TDE und die Pufferpoolerweiterung
Wenn Sie eine Datenbank mit TDE verschlüsseln, werden Dateien, die mit der Pufferpoolerweiterung zusammenhängen, nicht verschlüsselt. Verwenden Sie für diese Dateien Verschlüsselungstools wie BitLocker oder EFS auf Dateisystemebene.
TDE und In-Memory-OLTP
Sie können TDE für eine Datenbank aktivieren, die über In-Memory OLTP-Objekte verfügt. In SQL Server 2016 (13.x) und Azure SQL-Datenbank werden OLTP-Protokolleinträge und -daten im Arbeitsspeicher verschlüsselt, wenn Sie TDE aktivieren. In SQL Server 2014 (12.x) werden OLTP-Protokolleinträge im Arbeitsspeicher verschlüsselt, wenn Sie TDE aktivieren, dateien in der MEMORY_OPTIMIZED_DATA Dateigruppe jedoch unverschlüsselt sind.
Richtlinien zum Verwalten von Zertifikaten, die in TDE verwendet werden
Die Sicherung des Zertifikats und des Datenbankmasterschlüssels ist erforderlich, wenn die Datenbank für TDE aktiviert ist und in der Protokollversand- oder Datenbankspiegelung verwendet wird.
Es ist auch wichtig zu beachten, dass das Zertifikat, das zum Schutz des Datenbankverschlüsselungsschlüssels verwendet wird, niemals aus der master
Datenbank gelöscht werden sollte. Dadurch wird die verschlüsselte Datenbank nicht mehr darauf zugreifen können.
Eine Warnmeldung wie die folgende wird ausgelöst, nachdem das Create Database Encryption Key
im Befehl verwendete Zertifikat noch nicht gesichert wurde.
Das zum Verschlüsseln des Datenbankverschlüsselungsschlüssels verwendete Zertifikat wurde nicht gesichert. Sie sollten das Zertifikat und den privaten Schlüssel, der dem Zertifikat zugeordnet ist, sofort sichern. Wenn das Zertifikat jemals nicht verfügbar ist oder Sie die Datenbank auf einem anderen Server wiederherstellen oder anfügen müssen, benötigen Sie Sicherungen des Zertifikats und des privaten Schlüssels, oder Sie können die Datenbank nicht öffnen.
Die folgende Abfrage kann verwendet werden, um die in TDE verwendeten Zertifikate zu identifizieren, die seit der Erstellung nicht gesichert wurden.
SELECT pvt_key_last_backup_date,
Db_name(dek.database_id) AS encrypteddatabase ,c.name AS Certificate_Name
FROM sys.certificates c
INNER JOIN sys.dm_database_encryption_keys dek
ON c.thumbprint = dek.encryptor_thumbprint
Wenn die Spalte pvt_key_last_backup_date
NULL ist, wurde die Datenbank, die dieser Zeile entspricht, für TDE aktiviert, aber das Zertifikat, das zum Schutz seiner DEK verwendet wurde, wurde nicht gesichert. Weitere Informationen zum Sichern eines Zertifikats finden Sie unter BACKUP CERTIFICATE in SQL Server Books Online.