2
可能重複:
Create Trigger to log SQL that affected table?查找查詢發射的扳機
是SQL Server 2008可以編寫一個觸發器,它會投入我的日誌表,觸發它的查詢?我將解釋它的例子:
我有一個表,TAB1和日誌表LOG。我執行從TAB1刪除行的查詢,並且我希望在我的LOG表中有該查詢(或其他什麼可以幫助我識別誰在TAB1上執行刪除查詢)。
任何想法如何實現?
可能重複:
Create Trigger to log SQL that affected table?查找查詢發射的扳機
是SQL Server 2008可以編寫一個觸發器,它會投入我的日誌表,觸發它的查詢?我將解釋它的例子:
我有一個表,TAB1和日誌表LOG。我執行從TAB1刪除行的查詢,並且我希望在我的LOG表中有該查詢(或其他什麼可以幫助我識別誰在TAB1上執行刪除查詢)。
任何想法如何實現?
唯一的辦法在我腦海中是明確地通過CONTEXT_INFO 這個進入過程
declare @bin varbinary(128) = (cast(object_name(@@Procid) as varbinary(128))
set context_info @bin
傳遞過程的名稱,並用它在觸發
declare @procName as nvarchar(max)
set @procName = cast(context_info() as nvarchar(max))
我不知道任何其他方式這樣做
編輯: 我認爲你可能會感興趣clickie
您可以爲此使用擴展事件。 –