Sql Server數據庫的一大優勢,就是具有富UI的管理和調試工具,這點,絕對是優于ORACLE和其他的大中型數據庫的。
Sql Server的眾多工具中,對于開發人員和DBA來講,非常重要的一個,就是Sql Profiler (事件探查器) 了。
Sql Server中執行的每個一個動作,都可以在Sql Profiler里看的一清二楚,這對于性能調優,后期維護等等是非常有幫助的。
但是,問題來了,在你的產品發布后,你可能不想讓客戶跟蹤到你的SQL執行情況,便于對客戶保密。那么這個優勢,就成了你的“眼中釘”
如何才能不被Sql Profiler跟蹤到呢?
下面,我們就來探討這個問題
假設,你有一張表A,里面有個字段password,保存密碼,你執行下面的SQL:
SELECT [password] FROM [A]
在Sql Profiler 事件探查器里,你會看到如下的內容:
— 在該事件文本中找到“password”。 |
這樣,就看不到你執行的SQL語句的內容了。
但是,你可能要疑惑了,我的表中,不可能都存在password字段啊
確實如此,但是微軟做的更絕,只要在查詢的過程中,任意地方出現關鍵詞password,encryption,sp_setapprole之一,整個查詢過程都將被隱藏,任意地方,當然也包括 注釋 中。
例如,執行下面的過程語句:
同樣,在Sql Profiler中,可以看到如下的提示:
這樣,事情就很清楚了,只要在所執行的想保護的SQL語句中,添加一個含有關鍵詞的注釋,就可以被保護起來了!
下一篇 跨瀏覽器 CSS 陰影的實現方法