前言
同事參考 為資料做加解密處理 在建立對稱金鑰,並設定演算法為 TRIPLE_DES ,
SQL 發生 ‘TRIPLE_DES’ 之處的語法不正確。 的錯誤訊息。
1 | CREATE SYMMETRIC KEY DB_KEY1 WITH ALGORITHM = TRIPLE_DES |
研究
在SQL - Choose an Encryption Algorithm 中有提到
SQL Server 2016 (13.x) 之後只能用 AES_128, AES_192 及 AES_256,其他的演算法都已被棄用了。
如要要用 AES_128, AES_192 及 AES_256 之外的演算法,要將 Database 的相容性調整成 120 或 120 以下
Beginning with SQL Server 2016 (13.x), all algorithms other than AES_128, AES_192, and AES_256 are deprecated. To use older algorithms (not recommended) you must set the database to database compatibility level 120 or lower.
所以只要將 TRIPLE_DES 改成 AES_256 ,或是調整 DB 的相容性哦!
1 | CREATE SYMMETRIC KEY DB_KEY1 WITH ALGORITHM = AES_256 |
- 註: PASSWORD 也要符合 SQL 的密碼原則