डेटाबेस के लिए सूची एन्क्रिप्शन प्रमाणपत्र की क्वेरी


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 और sysinos_database_enc एन्क्रिप्शन_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+ पर उपलब्ध है।
लोवलीडा

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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.