Abfrage zum Auflisten des Verschlüsselungszertifikats für Datenbanken


15

Welches Zertifikat wird zum Verschlüsseln der einzelnen Datenbanken in den Instanzen verwendet?

Ich kann die Daten wie folgt abrufen, aber wie schreibe ich die Abfragen?

USE master
GO

-- this provides the list of certificates
SELECT * FROM sys.certificates


-- this provides the list of databases (encryption_state = 3) is encrypted
SELECT * FROM sys.dm_database_encryption_keys
 WHERE encryption_state = 3;

Ich habe festgestellt, dass die Spalten sys.certifcates.thumbprint und sys.dm_database_encryption_keys.encryptor_thumbprint dieselben Daten enthalten.

Antworten:


19

Sie können dem Zertifikat-Fingerabdruck beitreten:

use master;
go

select
    database_name = d.name,
    dek.encryptor_type,
    cert_name = c.name
from sys.dm_database_encryption_keys dek
left join sys.certificates c
on dek.encryptor_thumbprint = c.thumbprint
inner join sys.databases d
on dek.database_id = d.database_id;

Meine Beispielausgabe:

database_name           encryptor_type    cert_name
=============           ==============    =========
tempdb                  ASYMMETRIC KEY    NULL
AdventureWorks2012TDE   CERTIFICATE       TdeCert

Beachten Sie, dass das encryptor_typeFeld nur in SQL 2012+ verfügbar ist.
LowlyDBA

1

Für eine eingehendere Abfrage, die anzeigt, welche Datenbanken verschlüsselt sind oder nicht, deren Zertifikat und WICHTIG, ob die Verschlüsselungskonfiguration tatsächlich abgeschlossen wurde oder nicht. Die Verschlüsselung kann manchmal lange dauern oder stecken bleiben.

SELECT D.name AS 'Database Name'
,c.name AS 'Cert Name'
,E.encryptor_type AS 'Type'
,case
    when E.encryption_state = 3 then 'Encrypted'
    when E.encryption_state = 2 then 'In Progress'
    else 'Not Encrypted'
end as state,
E.encryption_state, E.percent_complete, E.key_algorithm, E.key_length, E.* FROM sys.dm_database_encryption_keys E
right join sys.databases D on D.database_id = E.database_id
left join sys.certificates c ON E.encryptor_thumbprint=c.thumbprint
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.