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'.