Поделиться через


sys.dm_database_encryption_keys (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Возвращает сведения о состоянии шифрования базы данных и о связанных ключах шифрования базы данных. Дополнительные сведения о шифровании баз данных см. в статье Прозрачное шифрование данных (TDE).

Имя столбца Тип данных Description
database_id int Идентификатор базы данных.
encryption_state int Указывает, является ли база данных зашифрованной или незашифрованной.

0 = нет ключа шифрования базы данных, нет шифрования

1 = не зашифрована

2 = выполняется шифрование

3 = зашифрована

4 = выполняется изменение ключа

5 = выполняется расшифровка

6 = производится изменение защиты (изменился сертификат или асимметричный ключ, которым зашифрован ключ шифрования базы данных).
create_date datetime Отображает дату (в формате UTC) созданный ключ шифрования.
regenerate_date datetime Отображает дату (в формате UTC) повторно созданного ключа шифрования.
modify_date datetime Отображает дату (в формате UTC) изменен ключ шифрования.
set_date datetime Отображает дату (в формате UTC) ключ шифрования, примененный к базе данных.
opened_date datetime Показывает, когда (в формате UTC) ключ базы данных был открыт в последний раз.
key_algorithm nvarchar(32) Отображает алгоритм, используемый для ключа.
key_length int Отображает длину ключа.
encryptor_thumbprint varbinary(20) Показывает отпечаток шифратора.
encryptor_type nvarchar(32) Применимо к: SQL Server (SQL Server 2012 (11.x) до текущей версии.

Описывает шифратор.
percent_complete real Процент выполнения шифрования базы данных. Значение 0, если изменения состояния не было.
encryption_state_desc nvarchar(32) Область применения: SQL Server 2019 (15.x) и более поздних версий.

Строка, указывающая, зашифрована ли база данных или не зашифрована.

NONE

НЕЗАШИФРОВАННЫЕ

ЗАШИФРОВАННЫЕ

DECRYPTION_IN_PROGRESS

ENCRYPTION_IN_PROGRESS

KEY_CHANGE_IN_PROGRESS

PROTECTION_CHANGE_IN_PROGRESS
encryption_scan_state int Область применения: SQL Server 2019 (15.x) и более поздних версий.

Указывает текущее состояние проверки шифрования.

0 = проверка не была инициирована, TDE не включена

1 = выполняется сканирование.

2 = выполняется сканирование, но приостановлено, пользователь может возобновить работу.

3 = сканирование было прервано по какой-то причине, требуется ручное вмешательство. Обратитесь к служба поддержки Майкрософт для получения дополнительной помощи.

4 = Сканирование успешно завершено, TDE включен и шифрование завершено.
encryption_scan_state_desc nvarchar(32) Область применения: SQL Server 2019 (15.x) и более поздних версий.

Строка, указывающая текущее состояние проверки шифрования.

NONE

ВЫПОЛНЯЕТСЯ

SUSPENDED

ABORTED

ЗАВЕРШЕНО
encryption_scan_modify_date datetime Область применения: SQL Server 2019 (15.x) и более поздних версий.

Отображает дату (в формате UTC) состояние проверки шифрования было изменено.

Разрешения

На SQL Server и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.

Для целей службы База данных SQL Basic, S0 и S1, а также для баз данных в эластичных пулах, учетной записи администратора сервера, учетной записи администратора Microsoft Entra или членства в ##MS_ServerStateReader## роли сервера требуется. Для всех остальных целей обслуживания базы данных SQL требуется разрешение VIEW DATABASE STATE в базе данных или членство в роли сервера ##MS_ServerStateReader##.

Разрешения для SQL Server 2022 и более поздних версий

Требуется разрешение VIEW SERVER SECURITY STATE на сервере.

См. также

Динамические административные представления и функции, связанные с безопасностью (Transact-SQL)
Прозрачное шифрование данных (TDE)
Шифрование SQL Server
Ключи шифрования базы данных и SQL Server (компонент Database Engine)
Иерархия средств шифрования
Параметры ALTER DATABASE SET (Transact-SQL)
CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
ALTER DATABASE ENCRYPTION KEY (Transact-SQL)
DROP DATABASE ENCRYPTION KEY (Transact-SQL)