Sql-Server
查找哪個 IP 添加了特定記錄
假設我有一個在 Azure 上執行的 SQL Server,並且多個應用程序向它添加記錄。問題是某些記錄來自未知應用程序。
有沒有一種很好的方法來查找哪個 IP 添加了特定記錄?
不幸的是,所有應用程序都通過他們在連接字元串中硬編碼的單個帳戶進行連接。所以我無法追踪。
我所做的是我啟用了azure sql 審計。在一天過去並獲得日誌後,我檢查了審計記錄,其中還顯示了每個 IP 對伺服器執行的查詢(包含數據)。
所以我可以針對添加它們的 IP 查明我需要的記錄。
另一種選擇是添加一個
HOST_NAME()
用作預設值的列。這僅適用於插入,不適用於更新。ALTER TABLE YourTable ADD ModifiedByHost sysname DEFAULT (HOST_NAME());
請注意,主機名是一個連接字元串屬性,可以被欺騙。