sys.symmetric_keys (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

对于使用 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)