2024年2月13日 星期二

SQL Server 載入防毒軟體模組的處理

        防毒軟體相信在很多的主機上都會安裝,在 SQL Server 上也是不例外,但因為防毒軟體造成的影響,在真的遇到時,如果發現兇手是防毒時,真的會爆火氣,但在沒有相對的證據指出是防毒造成的影響時,真的很難說服客戶進行移除。 

 另一方面,就算客戶暫時停用防毒程式,但這樣就真的沒有影響了嗎?其實答案為 "否",因為已載入至執行的程式中,就算你把主程式停用,但已載入的部份,還是有很大的影響,所以通常要說服客戶進行移除防毒。 一般在證據的收集上,如果是服務無法啟動,我們就透過微軟的一個內部人幾乎都要會的軟體 Process Monitor 進行收集,藉以找出是否是被其他的程式所影響,這也是一個我們主要找出的方法之一。

近日,遇到一個效能的案件,透過先前介紹的工具完整的收集客戶問題發生的區間,其中就發現 SQL Server 竟然載入了 TrendMicro 的 perfiCrcPerfMonMgr.dll 模組,進一步的確認的確是趨視 (TrendMicro) 的防毒軟體,如下所示。


DMV - -- sys.dm_os_loaded_modules --
C:\Program Files (x86)\Trend Micro\OfficeScan Client\perfiCrcPerfMonMgr.dll 

後來在想為何這個模組會載入至 SQL Server,而且進一步的查詢,發現這個載入其實代表安裝防毒軟體時,沒有設定排除 SQL Server,其實常見許多的客戶也是沒有進行這個設定,一但沒有設定,後續可能會造成效能問或相關檔案的毀損,所以最後的方法,就是要設定下列的作法即可,設定後,一來不會將相關的模組植入至 SQL Server 的執行中,也可以避免防毒軟體掃描造成相關的 mdf, ldf 的檔案毀損。

相關參考:

建議設定與解決方法:

最後建議,除了可以透過上述的 DMV 進行收集之外,也可以透過上面介紹的 LogScout 或 PSSDiag 統一收集後,也可以透過 SQL Nexus 進行分析,找出此問題,所以再次強烈的推薦給大家。


沒有留言:

張貼留言