TDE einrichten: Master Key, Zertifikat, Zertifikatsbackup und Verschlüsselungsfortschritt
SQL ServerSicherheitBefehl
USE master;
IF NOT EXISTS (SELECT 1 FROM sys.symmetric_keys WHERE name = N'##MS_DatabaseMasterKey##')
CREATE MASTER KEY ENCRYPTION BY PASSWORD = N'<GucluParola_1>';
CREATE CERTIFICATE [TDE_Cert_2026]
WITH SUBJECT = N'TDE certificate', EXPIRY_DATE = '20361231';
-- Back it up NOW: without cert + private key the backups cannot be restored anywhere
BACKUP CERTIFICATE [TDE_Cert_2026]
TO FILE = N'D:\Keys\TDE_Cert_2026.cer'
WITH PRIVATE KEY (FILE = N'D:\Keys\TDE_Cert_2026.pvk',
ENCRYPTION BY PASSWORD = N'<GucluParola_2>');
USE [Musteri];
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE [TDE_Cert_2026];
ALTER DATABASE [Musteri] SET ENCRYPTION ON;
-- Progress and certificate backup date:
SELECT DB_NAME(dek.database_id) AS db, dek.encryption_state_desc, dek.percent_complete,
dek.encryption_scan_state_desc, c.name AS cert_name, c.expiry_date, c.pvt_key_last_backup_date
FROM sys.dm_database_encryption_keys dek
LEFT JOIN master.sys.certificates c ON c.thumbprint = dek.encryptor_thumbprint;
-- On the target server (before restore / AG secondary):
-- CREATE CERTIFICATE [TDE_Cert_2026] FROM FILE = N'D:\Keys\TDE_Cert_2026.cer'
-- WITH PRIVATE KEY (FILE = N'D:\Keys\TDE_Cert_2026.pvk', DECRYPTION BY PASSWORD = N'<GucluParola_2>');Was es tut
Legt in master einen Database Master Key und ein Zertifikat an, sichert das Zertifikat mit seinem Private Key, legt einen AES-256-Database-Encryption-Key an und verschlüsselt die Daten- und Logdateien at rest; zeigt den Fortschritt des Verschlüsselungsscans im Hintergrund.
Wann einsetzen
Für Anforderungen an Data-at-Rest-Verschlüsselung wie DSGVO/PCI und gegen den Diebstahl von Backup- sowie MDF/LDF-Dateien.
Vorsicht
Gehen das Backup von Zertifikat + Private Key oder dessen Passwort verloren, sind die TDE-Datenbank und alle ihre Backups DAUERHAFT unlesbar; bewahre das Backup in einem sicheren Tresor getrennt vom Server auf. Das Aktivieren von TDE auf irgendeiner Datenbank verschlüsselt auch tempdb (geringe serverweite CPU-Kosten). Der Verschlüsselungsscan ist I/O-intensiv; ab 2019 lässt er sich mit ALTER DATABASE ... SET ENCRYPTION SUSPEND/RESUME pausieren. Für AG/Log Shipping muss das Zertifikat zuerst auf jedem Zielserver installiert werden. TDE verschlüsselt keine Daten im Speicher oder im Netzwerk.
Verwandte Einträge
- SQL Server Audit einrichten: Logins, Berechtigungsänderungen und Tabellenzugriffe
- Verwaiste Benutzer finden und Logins neu zuordnen (nach Restore / AG)
- Audit von Logins und Berechtigungen: sysadmin-Mitglieder, riskante Berechtigungen, schwache Passwörter
- Ledger-Tabelle anlegen, ihre Änderungshistorie lesen und die Integrität verifizieren