Sha*_*sek 41 sql-server database-permissions
在MSSQL中,为了能够截断表,我需要什么权限来授予用户权限?
我正在尝试授予最小的权限集,但我不能使用DELETE,因为表非常大,我希望操作很快.
您可以创建存储过程with execute as owner:
create procedure dbo.TruncTable
with execute as owner
as
truncate table TheTable
go
Run Code Online (Sandbox Code Playgroud)
然后将执行权限授予需要截断该表的任何人:
grant execute on TruncTable to TheUser
Run Code Online (Sandbox Code Playgroud)
现在TheUser可以截断表格,如:
exec dbo.TruncTable
Run Code Online (Sandbox Code Playgroud)