Sql server SQL Server将算法从TRIPLE_DES更改为AES_128

Sql server SQL Server将算法从TRIPLE_DES更改为AES_128,sql-server,encryption,aes,des,Sql Server,Encryption,Aes,Des,我想更改SQL Server数据库的算法,因为它将从2008年R2更新到2017年 我想删除并放置AES 128的三重DES代码是: CREATE MASTER KEY ENCRYPTION BY PASSWORD ='mypassword' go CREATE CERTIFICATE my_certificate ENCRYPTION BY PASSWORD = 'mypassword' WITH SUBJECT = 'Password', EXPIRY_DATE = '12/31/2199

我想更改SQL Server数据库的算法,因为它将从2008年R2更新到2017年

我想删除并放置AES 128的三重DES代码是:

CREATE MASTER KEY ENCRYPTION
BY PASSWORD ='mypassword'
go

CREATE CERTIFICATE my_certificate
ENCRYPTION BY PASSWORD = 'mypassword'
WITH SUBJECT = 'Password',
EXPIRY_DATE = '12/31/2199';
go

CREATE SYMMETRIC KEY my_symmetric_key
WITH ALGORITHM = TRIPLE_DES
ENCRYPTION BY CERTIFICATE my_certificate;
go

GRANT CONTROL ON CERTIFICATE::my_certificate TO public
GO 
GRANT VIEW DEFINITION ON SYMMETRIC KEY::my_symmetric_key TO public
GO 
GRANT REFERENCES ON SYMMETRIC KEY::my_symmetric_key TO public
GO 
GRANT CONTROL ON SYMMETRIC KEY::my_symmetric_key TO public
GO 
我尝试将它们全部删除并创建一个新的:

DROP SYMMETRIC KEY my_symmetric_key
go

DROP CERTIFICATE my_certificate
go

DROP MASTER KEY 
go

CREATE MASTER KEY ENCRYPTION
BY PASSWORD ='mypassword'
go

CREATE CERTIFICATE my_certificate
WITH SUBJECT = 'Password',
EXPIRY_DATE = '12/31/2029';

CREATE SYMMETRIC KEY my_symmetric_key
WITH ALGORITHM   = AES_128, IDENTITY_VALUE = 'myidentityvalue', KEY_SOURCE = 'mykeysource'
ENCRYPTION BY PASSWORD = 'mypassword';

GRANT CONTROL ON CERTIFICATE::my_certificate TO public
GO 
GRANT VIEW DEFINITION ON SYMMETRIC KEY::my_symmetric_key TO public
GO 
GRANT REFERENCES ON SYMMETRIC KEY::my_symmetric_key TO public
GO 
GRANT CONTROL ON SYMMETRIC KEY::my_symmetric_key TO public
GO 
虽然没有出错,但我尝试了加密

    OPEN SYMMETRIC KEY my_symmetric_key
        DECRYPTION BY CERTIFICATE my_certificate WITH PASSWORD = 'mypassword'
..
    SELECT CAST(EncryptByKey(Key_Guid('my_symmetric_key') , @thingtodecrypt) as varbinary)
我得到了这个错误:

The key is not encrypted using the specified decryptor
谢谢你的帮助