SQL Server 2005 ENCRYPTBYKEY 返回 null

1 encryption sql-server-2005

DECLARE @EmailEnc varbinary(maX)
declare @keyid uniqueidentifier
DECLARE @Email_test nvarchar(max)
set @Email_test = N'Sg@hotmail'
SELECT top 1 @keyid=[key_guid] FROM sys.symmetric_keys order by newid()
SET @EmailEnc=CAST(ENCRYPTBYKEY(@keyid,@Email_test) AS varbinary(max))
select @Email_test,@keyid,@EmailEnc
Run Code Online (Sandbox Code Playgroud)

结果


Sg@hotmail D790AE00-63FC-4BC5-8182-073BACDF1B12 NULL (1 行受影响) 为什么是 Null ?? 有任何想法吗??

Gal*_*boy 5

您必须在使用前“打开”钥匙。联机丛书中给出了如何执行此操作的示例。