暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL Server授予用户执行TRUNCATE TABLE权限

原创 沙沃兴 2022-12-29
2475

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

注意:SQL Server中没有单独的TRUNCATE TABLE权限。


CREATE PROCEDURE [dbo].[Usp_TruncateTable]

@TableName varchar(50)

WITH EXECUTE AS SELF

AS

BEGIN

SET NOCOUNT ON;

DECLARE @TruncateSql nvarchar(2000)

SET @TruncateSql = 'TRUNCATE TABLE ' + @TableName

EXEC (@TruncateSql)

END


授予数据库用户执行该存储过程的权限:


grant exec on Usp_TruncateTable to bingo

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论