sys.symmetric_keys (Transact-SQL)

適用于:SQL ServerAzure SQL資料庫Azure SQL 受控執行個體Azure SynapseAnalytics AnalyticsPlatform System (PDW)

為透過 CREATE SYMMETRIC KEY 陳述式所建立的各個對稱金鑰傳回一個資料列。

資料行名稱 資料類型 描述
name sysname 金鑰的名稱。 在資料庫中,這是唯一的。
principal_id int 擁有金鑰的資料庫主體識別碼。
symmetric_key_id int 金鑰的識別碼。 在資料庫中,這是唯一的。
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 (僅限 Extensible Key Management 演算法)
create_date datetime 建立金鑰的日期。
modify_date datetime 修改金鑰的日期。
key_guid uniqueidentifier 與金鑰相關聯的全域唯一識別碼 (GUID)。 它會為保存的金鑰自動產生。 暫時金鑰的 GUID 衍生自使用者提供的複雜密碼。
key_thumbprint sql_variant 金鑰的 SHA-1 雜湊。 此雜湊是全域唯一的。 如果是非 Extensible Key Management 金鑰,這個值將會是 NULL。
provider_type nvarchar(120) 密碼編譯提供者的類型:

CRYPTOGRAPHIC PROVIDER = Extensible Key Management 金鑰

NULL = 非 Extensible Key Management 金鑰
cryptographic_provider_guid uniqueidentifier 密碼編譯提供者的 GUID。 如果是非 Extensible Key Management 金鑰,這個值將會是 NULL。
cryptographic_provider_algid sql_variant 密碼編譯提供者的演算法識別碼。 如果是非 Extensible Key Management 金鑰,這個值將會是 NULL。

權限

目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。 如需相關資訊,請參閱 Metadata Visibility Configuration

備註

RC4 演算法已被取代。 未來的 Microsoft 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 演算法。 未來的 Microsoft 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)