只是一个简单的问题:
假设我在数据库中的表上放置了一个插入触发器。
如果通过登录名/用户“foobar”将数据插入到该表中。
触发器是否以与“foobar”相同的访问权限/权限执行?
非常感谢。
只是一个简单的问题:
假设我在数据库中的表上放置了一个插入触发器。
如果通过登录名/用户“foobar”将数据插入到该表中。
触发器是否以与“foobar”相同的访问权限/权限执行?
非常感谢。
是的。
您可以使用
EXECUTE AS
create 语句的子句,如此处所述。
触发器的默认值是
EXECUTE AS CALLER
我们在哪里找到
呼叫者
指定模块内的语句在模块调用者的上下文中执行。执行模块的用户不仅必须对模块本身具有适当的权限,而且还必须对模块引用的任何数据库对象具有适当的权限。 CALLER 是除 queues 之外的所有模块的默认值,并且与 SQL Server 2005 的行为相同。
默认情况下是的,但您可以使用
WITH EXECUTE AS
关于触发器定义
http://msdn.microsoft.com/en-us/library/ms188354(v=sql.100).aspx