截断表权限

时间:2011-05-19 18:48:46

标签: sql sql-server-2008

我们需要截断表的最小权限是什么?除了DDLAdmin。什么是最好的做法是授予用户在SQL 2008 R2上截断用户的权限

3 个答案:

答案 0 :(得分:4)

通过在线图书here

截断表格文档
  

权限

     

所需的最低许可是   在table_name上改为ALTER。 TRUNCATE TABLE   权限默认为表   所有者,系统管理员的成员已修复   服务器角色,以及db_owner和   db_ddladmin修复了数据库角色,以及   不可转让。但是,你可以   合并TRUNCATE TABLE   模块中的语句,例如   存储过程和授权   对模块的适当权限   使用EXECUTE AS子句。更多   信息,请参阅使用EXECUTE AS   创建自定义权限集。

答案 1 :(得分:2)

MSDN:

  

所需的最低许可是   在table_name上改为ALTER。 TRUNCATE TABLE   权限默认为表   所有者,系统管理员的成员已修复   服务器角色,以及db_owner和   db_ddladmin修复了数据库角色,以及   是不可转让的。

答案 2 :(得分:2)

如果您不想授予权限(过多,真实,并在其他答案中描述),您可以升级存储过程中的权限...

CREATE PROC DoTruncate
WITH EXECUTE AS OWNER
AS
TRUNCATE TABLE Mytable
GO

并允许使用“正常”权利