반응형

SSMS에서 특정 사용자의 DB만 보이게 하는 방법

한대성

MS SQL Server MVP

에이디컨설팅 책임 컨설턴트 | SQLLeader.com 운영자

 


 

 Question
디비를 여러게 사용하고 있는데요  
Microsoft SQL Server Management Studio로 접속하면 권한이 없어도 해당 디비명이 다 보입니다.  
기존 MSSQL2000에서는 sp_MSdbuseraccess를 변경해서 자기 디비만 보이도록 설정을 했었는데  
MSSQL2005에서는 설정하는 방법이 없나요?

 

 

다음과 같은 방식으로 SSMS에서 자신의 데이터베이스만 SSMS에 나타나도록 설정할 수 있습니다.

 

-- 테스트용 사용자 데이터베이스 생성

CREATE DATABASE User1DB

GO

CREATE DATABASE User2DB

GO

 

-- 데이터베이스에 해당하는 사용자 계정 생성

CREATE LOGIN User1 WITH PASSWORD='AAA', DEFAULT_DATABASE=User1DB

GO

CREATE LOGIN User2 WITH PASSWORD='AAA', DEFAULT_DATABASE=User2DB

GO

 

--public 대해 DATABASE VIEW 권한 취소

REVOKE VIEW ANY DATABASE FROM public

GO

 

-- DB 대해 Owner 설정

USE USER1DB

GO

sp_changedbowner 'User1'

GO

 

USE USER2DB

GO

sp_changedbowner 'User2'

GO

 

 

 

 

, 위의 방법은 해당 DB에 대한 dbowner를 변경하는 방식이기 때문에 데이터베이스 당 하나의 로그인만 지정할 수 있습니다.

(혹시 다른 방법이 있을까요??)

 

 

반응형

+ Recent posts