其實,這也是從分析別人的系統開始的。
近日,有系統需要整合,但是,沒有了技術支持。需要了解其數據庫表結構,其實主要還是從其中的一個或者2個表入手,但是又不知道是哪些表,而且本身這個數據庫中的表也比較多,逐個猜基本不現實。
於是就想到sql server的事件探測器,可以監控數據庫中都執行了那些操作,以及相應的sql。
結果,在分析過程中,出現以下問題:
看不到具體執行的sql。據說這是sql server內置的安全機制在發生作用。
官方介紹:只要在查詢的過程中,任意地方出現關鍵詞:password,encryption,sp_setapprole之一,整個查詢過程都將被隱藏,任意地方,當然也包括註釋中。
也就是說寫成下面這樣
--Password
/*保護SQL語句*/
SELECT 1 FROM [Organization1]
也無法在事件查看器中看到具體的sql。BT啊!這活沒法幹了!
網上有一篇關於sql事件探查器的文章,“SQL事件探查器,你使用了嗎?”,其中也說到這個問題,但是,這個問題真的就一點辦法都沒有嗎?是不是降低一下版本號就能看到呢?改天裝個sql server 2000看看,並且不打補丁。