Veritabanları için Şifreleme Sertifikası Listeleme Sorgusu


15

Örneklerdeki veritabanlarının her birini şifrelemek için hangi sertifika kullanılıyor?

Aşağıdakileri kullanarak veri alabilirim ama sorguları nasıl yazarım

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 ve sys.dm_database_encryption_keys.encryptor_thumbprint sütunlarının aynı verileri içerdiğini fark ettim.

Yanıtlar:


20

Sertifika parmak izine katılabilirsiniz:

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;

Örnek çıktım:

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

Not encryptor_typealan SQL 2012+ üzerinde kullanılabilir.
LowlyDBA

2

Hangi veritabanlarının şifrelenip şifrelenmediğini gösteren daha ayrıntılı bir sorgu için sertifikaları ve şifreleme kurulumunun gerçekten tamamlanıp tamamlanmadığı ÖNEMLİ. Şifrelemenin tamamlanması veya takılması bazen uzun sürebilir.

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.