0
最近我遇到了我正在處理的服務器上的特定SQL Server用戶帳戶,該服務器可以執行不會觸發觸發器的查詢。在不同用戶下執行的相同查詢按預期觸發觸發器。SQL Server - 觸發器不會觸發特定用戶
我使用有問題的用戶檢查了sys.triggers表,它們都被啓用。
在SQL Server中是否有一個設置可以防止爲特定用戶帳戶觸發觸發器?
最近我遇到了我正在處理的服務器上的特定SQL Server用戶帳戶,該服務器可以執行不會觸發觸發器的查詢。在不同用戶下執行的相同查詢按預期觸發觸發器。SQL Server - 觸發器不會觸發特定用戶
我使用有問題的用戶檢查了sys.triggers表,它們都被啓用。
在SQL Server中是否有一個設置可以防止爲特定用戶帳戶觸發觸發器?
沒有設置或旋鈕,你可以激活,從而觸發不會火了幾users.You需要一些自定義邏輯
這是通過使用返回 statemnt和檢查用戶名與SUSER_SNAME()
create trigger trg_test2
on dbo.test2
after insert
as
Begin
if (suser_Sname()='mike')
Begin
return
END
insert into dbo.test3
select * from inserted
end
--test2 has trigger which inserts into test3
insert into dbo.test2
select 1
select * from test2
select * from test3--Table 3 wont have any data if username is mike
有問題的用戶可能只執行BULK INSERT命令。該命令有一個禁用觸發器的設置。 – Alex
請提供查詢的示例。某些BULK操作具有標誌,允許您控制是否觸發觸發器。 – Alex
也是觸發器的一個例子。 – MartW