0
我要写剧本中我已创建登录和用户给予权限的用户,并给予Execute on
访问该用户SP_SELECTDEPT
但不直接只能通过role
只能执行单一的存储过程。所以这样用户将有权访问只执行这个存储过程,但它不起作用。需要通过角色
到目前为止我已经完成了。
BEGIN TRANSACTION
USE master
CREATE LOGIN QGtestlogin WITH PASSWORD = 'test123', CHECK_POLICY=off
GO
USE DEPT
CREATE USER QGtestlogin FOR LOGIN QGtestlogin
go
CREATE ROLE QGtestrole AUTHORIZATION QGtestlogin
GO
GRANT EXECUTE ON SP_SELECTDEPT TO QGtestrole
go
if @@ERROR > 0
begin
rollback transaction
end
else begin
commit transaction
end
但是,当我用这个新创建的用户登录时,它甚至没有显示要执行的存储过程。
注:
Msg 229, Level 14, State 5, Procedure SP_SELECTDEPT, Line 14
The SELECT permission was denied on the object 'Dept', database 'DEPT', schema 'dbo'.