【发布时间】:2020-06-04 23:07:52
【问题描述】:
尝试搜索此内容,但找不到任何内容。我在生产数据库中有一些存储过程,开发人员最后添加了一个
GRANT EXECUTE ON [ProcName] to [USER1] AS [dbo]
我的敏锐感觉告诉我不应该这样做,因为所有用户访问都应该(并且是)在 SSMS 中以适当的级别进行管理。如果数据库开始真的很忙并且每次都不断地授予此访问权限,这也可能会引入死锁。
除了确保用户在开发过程中获得许可之外,我一生都想不出为什么需要这样做的正当理由。我打算删除它,但我只是想知道我是否遗漏了什么?
【问题讨论】:
-
很可能,部署脚本在 proc 和后续
GRANT之间缺少一个GO批处理终止符,因此该语句成为存储过程的一部分。
标签: sql-server stored-procedures access-control sql-grant