2010-12-30 3 views

답변

2

3 단계는, 경우에 당신은 서버 수준에서 로그인 + 사용자가 이미

  • CREATE LOGIN [mydomain\myuser] FROM WINDOWS;을 설정하지 않았습니다. MSDN
  • db 수준. 역할에 MSDN
  • Match userEXEC sp_addrolemember 'mydomain\myuser', 'db_denydatawriter'

편집 :

이는 INSERT, UPDATE을 방지하고 그것은 테이블 디자인을 변경 멈추지 않을 것입니다 테이블

직접 삭제합니다. 그것은 ddl_admin 또는 db_owner입니다. db_owner 권한은 다른 모든 권한보다 우선하므로 거부하면 아무 효과가 없습니다.

쓰기가 저장된 procs를 통해 이루어지는 경우 ownership chaining은 테이블에서 사용 권한을 확인하지 않음을 의미합니다. 그래서이 대답은 효과가 없을 것입니다.

+0

이 작업을 수행했지만 사용자가 여전히 테이블을 수정할 수 있습니다. –

+0

다른 역할은 무엇입니까? db_owner? – MartW

+0

@Mike : "테이블 수정"을 명확히하십시오. 데이터 변경 또는 열 추가 등의 의미입니까? 데이터를 저장하기 위해 저장된 procs를 사용합니까? – gbn

0
EXEC sp_addrolemember N'db_denydatawriter', N'Foo' 

참조 here.