sys.symmetric_keys (Transact-SQL)

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric SQL 数据库

对于使用 CREATE SYMMETRIC KEY 语句创建的每个对称密钥,返回与其对应的一行。

列名称 数据类型 说明
name sysname 密钥的名称。 在数据库中是唯一的。
principal_id int 拥有密钥的数据库主体的 ID。
symmetric_key_id int 密钥的 ID。 在数据库中是唯一的。
key_length int 密钥的长度(位)。
key_algorithm char(2) 密钥使用的算法:

R2 = RC2

R4 = RC4

D = DES

D3 = Triple DES

DT = TRIPLE_DES_3KEY

DX = DESX

A1 = AES 128

A2 = AES 192

A3 = AES 256

NA = EKM 密钥
algorithm_desc nvarchar(60) 对于密钥所用算法的说明:

RC2

RC4

DES

Triple_DES

TRIPLE_DES_3KEY

DESX

AES_128

AES_192

AES_256

NULL(仅限于可扩展密钥管理算法)
create_date datetime 密钥的创建日期。
modify_date datetime 密钥的修改日期。
key_guid uniqueidentifier 与密钥关联的全局唯一标识符 (GUID)。 对于持久化密钥,此标识符是自动生成的。 临时密钥的 GUID 从用户提供的通行短语中派生。
key_thumbprint sql_variant 密钥的 SHA-1 哈希。 该哈希是全局唯一的。 对于非可扩展密钥管理密钥,此值将为 NULL。
provider_type nvarchar(120) 加密提供程序的类型:

CRYPTOGRAPHIC PROVIDER = 可扩展密钥管理密钥

NULL = 非可扩展密钥管理密钥
cryptographic_provider_guid uniqueidentifier 加密提供程序的 GUID。 对于非可扩展密钥管理密钥,此值将为 NULL。
cryptographic_provider_algid sql_variant 加密提供程序的算法 ID。 对于非可扩展密钥管理密钥,此值将为 NULL。

权限

目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。 有关详细信息,请参阅 Metadata Visibility Configuration

注解

不推荐使用 RC4 算法。 在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

注意

RC4 算法仅用于支持向后兼容性。 仅当数据库兼容级别为 90 或 100 时,才能使用 RC4 或 RC4_128 对新材料进行加密。 (建议不要使用。)而是使用一种较新的算法,如 AES 算法之一。 在 SQL Server 2012 (11.x) 中,可以通过任何兼容级别对使用 RC4 或 RC4_128 加密的材料进行解密。

关于 DES 算法的说明:

  • DESX 的命名不正确。 使用 ALGORITHM = DESX 创建的对称密钥实际上使用的是具有 192 位密钥的 TRIPLE DES 密码。 不提供 DESX 算法。 在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

  • 使用 ALGORITHM = TRIPLE_DES_3KEY 创建的对称密钥使用的是具有 192 位密钥的 TRIPLE DES。

  • 使用 ALGORITHM = TRIPLE_DES 创建的对称密钥使用的是具有 128 位密钥的 TRIPLE DES。

另请参阅

目录视图 (Transact-SQL)
可扩展的密钥管理 (EKM)
安全性目录视图 (Transact-SQL)
加密层次结构
CREATE SYMMETRIC KEY (Transact-SQL)