有2个数据库:StgDb和ArchDb
在StgDb上创建了具有密码保护的非对称密钥“ AK”。
CREATE ASYMMETRIC KEY AK
WITH ALGORITHM = RSA_2048
ENCRYPTION BY PASSWORD = 'XXX';
从StgDb上的非对称密钥“ AK”创建对称密钥“ SK”。
CREATE SYMMETRIC KEY SK
WITH ALGORITHM = AES_256
ENCRYPTION BY ASYMMETRIC KEY AK
使用对称密钥“ SK”对StgDb上的数据进行加密,然后将其推送到ArchDb。
OPEN SYMMETRIC KEY SK DECRYPTION BY ASYMMETRIC KEY AK WITH PASSWORD = 'XXX';
GO
SELECT EncryptByKey( Key_GUID('SK'), 'Hello' )
ArchDb上的视图需要使用在StgDb上创建的非对称密钥来解密数据。
下面的内容在StgDb上有效,但在ArchDb上无效
SELECT CONVERT(VARCHAR(MAX),DECRYPTBYKEYAUTOASYMKEY(ASYMKEY_ID('AK'), N'XXX',0x0019xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx))
StgDb上的SK如何在ArchDb中使用?