摘要:利用CLR SQL 做加解密驗證
日前有一個需求,就是在程式上我們有自己一套的密碼雜湊規則,
然而在DB這邊要刻出相同的規則,並跟程式端的驗證結果需相同,
故我們的DBA提出了CLR SQL這東東,希望我們能透過CLR,
將密碼驗證規則布署為SQL function提供他們使用,
所以再此也得感謝我們的DBA讓我瞭解原來還有這種應用.
在以往,都是由DBA提供stored procedure,跟SQL function 這次反而是反過來由我們提供,由於是第一次接觸,
當然免不了上網做一下功課,原來CLR SQL在SQL server 2005就已經出現,
到目前為止應用與範例也相當的多,故再此小弟當做筆記避免以後要參考找不到XD,
就不在贅述這塊,我會將這些資訊放至參考連結,
讓有興趣朋友們可以參考參考
接下來就直接看範例嚕
如果在此有筆誤或是操作上哪裡有錯誤,
有請各位前輩不吝指導.謝謝
備註:此範例只是DEMO,並未真正加入公司的驗證機制
STEP 1
需先至SQL Server啟用 CLR 整合
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
Step 2
開啟VISUAL STUDIO >新增專案>SQL Server 資料庫專案
STEP 3.
對專案點擊右鍵>加入>新增項目
STEP 4. 選擇CLR C# 使用者定義函式
STEP 5. 這時候就開始刻CODE嚕,
STEP 7. 設定發佈相關設定
在這裡說明一下,由於本身要發布的環境是SQL SERVER 2008
故選擇的版本為.NET Framwork 為3.0
STEP 8 選擇發布環境
STEP 9.
對專案點擊右鍵>發行
STEP 10.
點擊編輯
STEP 11.設定發布的DB位置與連線字串
STEP 12. 確認>點擊發行
STEP 13.開啟SQL Server Management Studio 確認組件是否存在,並執行結果