데이터베이스 단위로 권한 부여

--Example 
-- DB 명 : TEST_DB
-- Account : test_acc


use [TEST_DB]
GO
-- 권한 부여
GRANT SELECT TO [test_acc]
GRANT ALTER TO [test_acc]
GRANT DELETE TO [test_acc]
GRANT UPDATE TO [test_acc]
GRANT INSERT TO [test_acc]
GRANT CREATE TABLE TO [test_acc]
GO

-- 권한 제거
DENY UPDATE TO [test_acc]
DENY DELETE TO [test_acc]

스키마 단위로 권한 부여

--Example 
-- DB 명 : TEST_DB
-- 스키마 : dbo
-- Account : test_acc


USE [TEST_DB]
GO

CREATE USER [test_acc] FOR LOGIN [test_acc] WITH DEFAULT_SCHEMA=[dbo]

GRANT CONNECT TO test_acc AS [dbo]
GRANT SELECT TO test_acc AS [dbo]
GRANT DELETE TO test_acc AS [dbo]
GRANT UPDATE TO test_acc AS [dbo]
GRANT EXECUTE TO test_acc AS [dbo]
GRANT VIEW DEFINITION TO test_acc AS [dbo]
GO

지정 SP에 권한 부여

--Example
--DB 명 : TEST_DB
-- SP명 : sp_TEST_update
-- Account : Test_Acc

USE [TEST_DB]
GO

grant execute on sp_TEST_update to Test_Acc 
GO

일부 DB만 DB 리스트에 보여지도록

-- Database 소유자를 제외하고 DB 리스트가 보이지 않게 하는 형식

--Example
-- DB 명 : TEST_DB
-- Account :
---- TEST_Service : Database 리스트에 'TEST_DB' DB 확인 불가
---- TEST_Admin : Database 리스트에 'TEST_DB' DB 확인 가능

USE [master] 
GO

alter authorization on database::TEST_DB to TEST_Admin;
deny VIEW ANY DATABASE TO TEST_Service;
GO

to Top