로그인에서 오른쪽 마우스 선택하여 "새 로그인"을 선택한다.

새로운 로그인 계정을 추가한다. 일반 탭에서 로그인 아이디와 암호 그리고 사용할 기본 데이터베이스 설정을 해준다.


사용자 매핑 선택하면 위와 같은 화면이 나온다. 위와 같이 권한을 준다. 데이터베이스 역할 멤버 자격을 잘 못 선택할 경우 사용자 권한 설정을 하여도 모든 테이블이 보이게 된다. 기본 public으로만 셋팅하고 확인을 누른다.

로그인에 test 계정이 추가 되었고, TEST 데이터 베이스에 사용자에 test도 추가 되었다.

test 사용자에서 마우스 오른쪽을 클릭한 후 "속성"을 선택하면 위와 같은 화면이 나온다. 일반에서 설정할 필요 없고, 보안개체를 선택한 후 위에서 추가 버튼을 선택한다.


개체 추가 화면이 보이고, 특정 개체를 선택한다.


개체 유형을 선택한다.

권한을 줄 개체 유형을 선택한 후 확인 버튼을 누른다.

개체 유형 선택 후 선택할 개체 이름을 입력한 후 이름 확인을 누르면 필터가 되고, 찾아보기를 선택하면 개체 유형에 맞는 모든 정보가 보인다. table이란 이름을 입력하고 이름 확인을 선택한다.

권한을 줄 테이블을 체크한 후 확인을 준다. Table_1을 선택한 후 확인을 누른다.

위와 같이 추가 되고 확인을 누른다.

위 테이블에 SELECT 권한만 주고 확인을 누른다.

새로 생성한 계정으로 로그인 하면 추가된 테이블만 조회 가능하다.


특정 명이 들어있는 테이블, 뷰, 프로시저, 함수 등이 많은 경우 개체유형 체크가 번거롭기 때문에..


스크립트 선택하여 새쿼리 창 작업을 선택 하면 아래와 같이 구분이 생성된다.
use [TEST]
GO
GRANT SELECT ON [dbo].[TestTable] TO [test]
GO
위 구문을 복사하고,

SELECT 'GRANT SELECT ON [dbo].[' + name + '] TO [test]'
FROM sysobjects
WHERE name like '%table%'


위와 같이 셀렉트를 날리면 table이 포함된 테이블, 뷰, 프로시저, 함수이 위 구문으로 생성되고 그 문을 복사하여 일괄 명령을 날리면 손쉽게 명이 같은 개체에 권한을 부여할 수 있다.


출처 : http://yhn321.tistory.com/121



+ Recent posts