Запит на список сертифікатів шифрування для баз даних


15

Який сертифікат використовується для шифрування кожної з баз даних про екземпляри.

Я можу отримати дані за допомогою наступного, але як написати запити

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;

Я помітив, що стовпці sys.certifcates.thumbprint та sys.dm_database_encryption_keys.encryptor_thumbprint містять однакові дані.

Відповіді:


20

Ви можете приєднатися до відбитка сертифікату:

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;

Мій зразок виводу:

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

Зверніть увагу, що encryptor_typeполе доступне лише у SQL 2012+.
LowlyDBA

2

Для більш детального запиту, який показує, які бази даних зашифровані чи ні, їх сертифікат та ВАЖЛИВО, якщо налаштування шифрування фактично завершено чи ні. Шифрування іноді може зайняти довгий час, щоб завершити або застрягнути.

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.