加密的預存程序、檢視、函數 (WITH ENCRYPTION) 導致無法檢視定義,除非有原始碼備份。dbForge SQL Decryptor (Devart) 免費工具可一鍵解密,支援 SQL Server 2005~2019。
取得與安裝
操作步驟
- 啟動工具,Connect 至目標 SQL Server 實例 (Windows/ SQL 驗證)。
- 物件瀏覽器勾選需解密的物件 (可多選)。
- 工具列點擊 Decrypt,或右鍵選單 Decrypt。
- 結果視窗顯示解密後的完整 T-SQL 定義,可複製、另存為
.sql。
整合至 SSMS 外部工具 (效率倍增)
- SSMS 選單 Tools → External Tools。
- Add:
Title: &Decrypt Selected Object
Command: C:\Program Files (x86)\Devart\dbForge SQL Decryptor\sqldecryptor.exe
Arguments: -s $(ServerName) -d $(DatabaseName) -u $(UserName) -p $(Password) -o "$(ItemPath)" (視版本參數調整,或直接啟動 GUI 手動選)。
Initial directory: 工具安裝目錄。
- 以後在 SSMS 物件總管右鍵物件 → External Tools → Decrypt Selected Object 即可快速解密。
同廠商另一免費工具:dbForge SQL Azure Backup
- 支援將 Azure SQL Database 備份至本機
.bacpac / .sql,排程自動化。
- 下載:Devart 產品頁。
注意事項
- 解密僅適用
WITH ENCRYPTION (舊式模糊化),不適用 Always Encrypted、TDE、Column Encryption 等真加密技術。
- 解密行為屬於逆向工程,請確認擁有合法授權或為資料庫擁有者,避免法律風險。
- 生產環境建議源碼管控 (Git/SVN) 而非依賴解密工具。