Sql-Server

想要執行查詢使用者登錄 SQL-server

  • August 8, 2018

昨天我的一個團隊成員截斷了幾張表,但誰截斷了這些表仍然是個謎。

我可以擁有基於使用者的查詢日誌以及執行時間嗎?或者我將來可以啟用該功能的東西?

目前,我在 Linux 上使用 SQL-Server 2017。

先感謝您。

是的,我們也有類似的問題——工資數據!試試這個部落格中顯示的預設跟踪(似乎這也適用於 Linux):

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/80938ab2-28a4-46eb-8b09-84ab9ae22079/how-to-find-the-user-who-performed-a-truncate-statement?forum=transactsql

在此處輸入圖像描述

Linux 預設跟踪位置:

http://www.dharmendrakeshari.com/main-file-directory-structure-sql-server-linux/

在此處輸入圖像描述

真正的問題是:你真的想做那樣的事情嗎?或者有更好的方法(比如將數據推送到另一台伺服器並讓他們在那裡執行查詢/更新/截斷,然後限制他們在 Prod 中的訪問)。

Brent Ozar 團隊在他們的一個辦公時間播客中對此進行了很好的討論。

基本上,答案是這樣的: 想像一下,你的老闆要求你將白天在辦公室所做的一切記錄在便利貼上。

上午 9:00 - 我 - 坐在我的辦公桌前

9:01 AM - 我 - 打開我的電腦

9:02 AM - 我 - 檢查了我的電子郵件

上午 9:03 - 我 - 打開 SSMS

你花在做事上的時間(以及你的整體生產力)會付諸東流。

所以要為 SQL Server 減速做好準備,因為它必須採取額外的步驟並將它執行的每個查詢記錄到一個表中。

引用自:https://dba.stackexchange.com/questions/212078