解决Trauncate table没权限

时间:2023-03-09 19:12:55
解决Trauncate table没权限

错误信息
Cannot find the object "TableName" because it does not exist or you do not have permissions.

原因
truncate table 所需的最低权限是对 table_name 的 ALTER 权限。 默认情况下,将 TRUNCATE TABLE 权限授予表所有者、sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员,并且该权限不可转移。 但是,可以在诸如存储过程这样的模块中加入 TRUNCATE TABLE 语句,然后为使用 EXECUTE AS 子句的模块授予适当的权限。

解决方案

GRANT alter ON SCHEMA :: [schema name]TO [user]

GRANT alter ON [table] TO [user]