Gibt es eine Möglichkeit, anhand der SQL Server-Sicherungsdatei oder der MSDB-Tabellen zu ermitteln, ob die Sicherung mit TDE verschlüsselt ist, ohne zu versuchen, die Sicherungsdatei wiederherzustellen?
Vielen Dank
quelle
Gibt es eine Möglichkeit, anhand der SQL Server-Sicherungsdatei oder der MSDB-Tabellen zu ermitteln, ob die Sicherung mit TDE verschlüsselt ist, ohne zu versuchen, die Sicherungsdatei wiederherzustellen?
Vielen Dank
Stellen Sie sich für eine Sekunde vor, Sie hätten eine 1-Terabyte-Datenbank. Das Sichern dauert eine Weile, und das Verschlüsseln dauert eine Weile. Stellen Sie sich vor:
Was würden Sie von Ihrer Abfrage erwarten, wenn Sie nach Abschluss der Wiederherstellung der vollständigen Sicherung weiterhin TDE anwenden und den Rest Ihrer Datenbank verschlüsseln?
Stellen Sie sich umgekehrt vor, Sie beginnen mit einer bereits verschlüsselten Datenbank und:
Was würden Sie von der Abfrage erwarten? Dies sind Beispielszenarien, warum die TDE-Verschlüsselung nicht zu den Feldern in msdb.dbo.backupset gehört .
Ich habe Brents Antwort positiv bewertet , da sein Szenario definitiv das Wasser trüben könnte, ob das Backup TDE-Daten enthält.
Wenn Sie TDE jedoch für eine Weile aktiviert haben, scheint es, dass RESTORE FILELISTONLY (Transact-SQL) die gewünschten Informationen bereitstellt. In der Ergebnismenge befindet sich eine Spalte mit dem Namen
TDEThumbprint
"Zeigt den Fingerabdruck des Datenbankverschlüsselungsschlüssels an. Der Fingerabdruck des Verschlüsselers ist ein SHA-1-Hash des Zertifikats, mit dem der Schlüssel verschlüsselt wird."Ich habe mir einige meiner Backups angesehen, die sowohl TDE-verschlüsselt als auch nicht TDE-verschlüsselt waren.
Die Sicherungen meiner TDE-Datenbanken hatten den Zertifikat-Fingerabdruck in dieser Spalte, und die Sicherungen ohne TDE-Datenbanken hatten null.
quelle
Hier ist die SQL-Abfrage, die Ihnen sagt, ob eine Sicherung verschlüsselt ist oder nicht.
quelle