2017-02-14 47 views
0

我想跟蹤所有登錄失敗的登錄到我們的生產環境。SQL Server數據庫審計爲整個數據庫,所有對象選擇,失敗登錄和執行代碼

包括對所有對象的所有選擇。

基於:

https://www.simple-talk.com/sql/database-administration/sql-server-audit-magic-without-a-wizard/

https://www.simple-talk.com/sql/database-administration/sql-server-security-audit-basics/

,特別是:

https://blogs.msdn.microsoft.com/sreekarm/2009/01/05/auditing-select-statements-in-sql-server-2008/

這表明我需要南e模式中的每個對象都可以保存所有的選擇語句,我不想​​這樣做。有1500個桌子和2300個視圖。

審計是否可能取得數據庫對象,並且在該對象上執行的任何SELECT都保存在審計文件中,包括用戶,語句和時間等?

我從失敗的登錄主體組獲取失敗的登錄信息,但到目前爲止,我還沒有能夠獲得select語句,除非我明確指定要審覈的對象。

命名它們也意味着每次添加新視圖或表時都必須更新審計。

回答

0

您可以使用擴展事件

針對您的特殊情況下,你可能想選擇batch startingbatch completed事件..

enter image description here

您也可以在喜歡的用戶名下一屏幕添加更多信息,主機信息...

最後,你可以添加過濾器來過濾這隻適用於一個數據庫或所有數據庫或PROC與speficic名稱和很多..

這個信息可以被記錄到文件中供以後分析..

https://www.simple-talk.com/sql/database-administration/getting-started-with-extended-events-in-sql-server-2012/

失敗的登錄,您可以右鍵單擊服務器並進入審覈..this頁面下方將默認啓用並這將被記錄到錯誤日誌

enter image description here

+0

擴展會議只對會議。我對正在進行的系統審覈感興趣,對於選擇和失敗的登錄/成功登錄。 我沒有看到擴展的會話是可以解決的問題嗎? 從閱讀指南,其瞄準一次性投資,類似於追蹤或profiiler。 – Tommy

+0

@Tommy:你能否詳細說明 – TheGameiswar

+0

@Tommy:使用選擇批處理啓動和完成的事件,可以幫助你審覈所有選擇的語句。對於失敗的登錄,我認爲你不需要它。但你可以看到更新 – TheGameiswar