截断表所需的最小权限是什么?除了DDLAdmin。什么是允许用户截断SQL 2008 R2上的用户的最佳实践?
发布于 2011-05-20 02:51:20
截断联机丛书here上的表文档
权限
所需的最低权限是ALTER on table_name。TRUNCATE表权限默认授予表所有者、sysadmin固定服务器角色的成员以及db_owner和db_ddladmin固定数据库角色,并且不可转移。但是,您可以将TRUNCATE TABLE语句合并到模块中,并使用EXECUTE as子句向模块授予适当的权限。有关更多信息,请参见使用EXECUTE AS创建自定义权限集。
发布于 2011-05-20 02:51:20
MSDN:
所需的最低权限是ALTER on table_name。TRUNCATE表权限默认情况下授予表所有者、sysadmin固定服务器角色的成员以及db_owner和db_ddladmin固定数据库角色,并且不可转移。
发布于 2011-05-20 03:09:13
如果您不想授予权限(实际上,在其他答案中描述的权限过多),您可以在存储过程中升级权限...
CREATE PROC DoTruncate
WITH EXECUTE AS OWNER
AS
TRUNCATE TABLE Mytable
GO并使用“正常”权限对其进行许可
https://stackoverflow.com/questions/6063451
复制相似问题