본문 바로가기

권한

(2)
SSMS에서 특정 사용자의 DB만 보이게 하는 방법 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_DATABAS..
EM에서 권한이 있는 DB만 보이도록 셋팅 sp_MSdbuseraccess 는 EM으로 접속할때 각각의 데이터베이스에 접속권한이 있는지 확인하는 프로시저인데 이 프로시저를 약간 수정하여 EM으로 접속했을때의 응답속도도 향상시킬수 있고 더불어 권한이 있는 데이터베이스만 보이도록 셋팅할 수 있다. 다음 프로시저를 복사하여 실행하기만 하면된다. (기존 프로시저와 다른 부분은 빨간색으로 표시했다. 관심있는 분들은 분석해 보시기 바랍니다.) /*******************************************************************************/ /* exec sp_MSdbuseraccess 'perm', 'dbname' -- selecting priv bit from specified database */ /* e..