Consulta para enumerar el certificado de cifrado para bases de datos


15

Qué certificado se utiliza para cifrar cada una de las bases de datos en las instancias.

Puedo obtener los datos usando lo siguiente, pero ¿cómo escribo las consultas?

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;

Noté que las columnas sys.certifcates.thumbprint y sys.dm_database_encryption_keys.encryptor_thumbprint contienen los mismos datos.

Respuestas:


19

Puede unirse en la huella digital del certificado:

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;

Mi muestra de salida:

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

Tenga en cuenta que el encryptor_typecampo solo está disponible en SQL 2012+.
LowlyDBA

1

Para una consulta más profunda que muestre qué bases de datos están encriptadas o no, su certificado y IMPORTANTE si la configuración de encriptación se ha completado o no. El cifrado a veces puede tardar mucho tiempo en completarse o atascarse.

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.