比方說,我有一個SQL Server 2000表,任何名稱都可以做,這與這個主題無關。在這張桌子上,我有一個觸發器,在更新或插入後運行。是否可以強制觸發器在與SQL Server 2000中的用戶不同的上下文中運行?
用戶可以插入並更新觸發器所附的表格,但不能觸發觸發器所針對的其他表格。
如果用戶修改原始表中的數據,我會收到一個異常,抱怨用戶沒有權限修改觸發器的目標表中的數據。
我認爲這是由於觸發器在用戶的上下文中運行的事實造成的。有沒有辦法讓觸發器在自己的上下文中運行,還是我沒有正確解釋這種異常的原因?
編輯:我應該指出我正在使用SQL Server 2000,所以使用EXECUTE AS將不起作用。
嗯,好吧,我想這會工作。因此,我想,單獨的過程需要是一項預定的工作。不是我真正想要的。 – BenAlabaster 2009-05-07 18:00:03