2010-12-16 5 views
1

저는 웹 팜의 시스템 관리자이며 현재 개발자가 SQL Server에 sysadmin으로 연결할 수 있습니다.SQL 2005에서 사용자 지정 서버 역할 만들기

이제 모든 DB에 연결할 수 있지만 DB 스키마를 수정할 수있는 권한 만 있으면 새 DB를 만들거나 권한을 변경할 수 없기를 바랍니다.

어쨌든 사용자 지정 서버 역할을 만들고 권한을 구성 할 수 있습니까?

+1

devs 그룹이 개별 데이터베이스에 할당되지 않습니까? 확실히 모든 devs가 모든 데이터베이스에서 작동하지는 않습니까? 그것을 생각해 보러 오십시오! devs가 스키마를 변경하게하는 이유는 무엇입니까? 스크립트를 변경하여 SCC에 배치하고 DBA에게 배치하여 배포 할 수있게하는 이유는 무엇입니까? –

+1

문제는 큰 회사가 아니었고 개발자 팀은 5 ppl만으로 구성되었습니다. 또한 DB를 변경하고 응용 프로그램을 개발하십시오. DB에 대한 액세스가 필요하지만 완전 액세스는 필요하지 않습니다. – shaharmor

+0

및 어떻게 chnage가 무언가를 끊을 때 운동합니까? 금요일 오후에 변화가 있다고 해? Devs가 DB를 작성하는 것이 덜 심각하여 변경을 허용 할 것이라고 생각했을 것입니다. 하지만 이봐, 내가 뭘 안다고 생각하니 .... –

답변

0

귀하의 요구 사항을 충족시키는 서버 역할이 있다고 생각하지는 않지만 다음과 같은 데이터베이스 역할에 적용 할 것입니다.

db_datareader 
db_datawriter 
db_ddladmin 

그런 다음 sysadmin 서버 역할에서 제거하십시오.

난 당신이 다음 CREATE, ALTER, DROP DATABASE 문을 사용하는 것을 방지하기 위해 DENY 문을 발행 할 수 있다고 생각합니다.

나는이 테스트를하지 않은

DENY CREATE DATABASE to UserXYZ

그래서이 가능한 경우 100 % 확실하지 않다. 당신이 그들에게 master 데이터베이스에 db_ddladmin 권한을 부여하지 않는 경우

그들은 새로운 데이터베이스를 만들 수 없습니다.

+0

그래서 모든 DB를 통해 가야하고 내 개발자를 db_datareader, db_datawriter, db_ddladmin 각 DB의 DB 역할에 추가해야합니까? – shaharmor

+0

나는 이것이 최선의 선택 일 것이라고 생각한다. 모든 개발자가 하나의 그룹에 속해 있으며 권한을 할당 할 수 있다고 생각합니까? 당신은 당신을 위해 모든 작업을 수행하고 DB를 가로 질러 실행하는 스크립트를 만들 수 있습니다. – codingbadger

+0

회사의 도메인이 아닌 원격 서버이기 때문에 WINDOWS NT 권한을 사용하지 않습니다. SQL 그룹을 만들 수 있습니까? SQL 사용자를 넣으시겠습니까? – shaharmor

관련 문제