2017-12-03 1 views
-1

sysadmin 역할을 도메인 사용자에게 할당하지 않고 SQL Server 2012에서 행 삽입/업데이트. 사용자는 데이터베이스에 db_writer 회원을 db_reader이SQL Server가 sysadmin이 아닌 경우 행을 삽입 할 수 없음

행 삽입/업데이트 일반적으로

도메인 사용자가 sysadmin 역할 주어진 오류가 없습니다 있지만 행이 당신을 도울 수/삽입되지

+1

실행중인 코드를 표시하십시오. 또한 관련 테이블 정의 및 해당 테이블의 모든 트리거. – RBarryYoung

답변

0

체크 업데이트됩니다되어 있지 않은 경우 액세스를 부여하려면

db_datawriter db_datareader 역할은 데이터베이스 내의 테이블과 뷰에 대한 암시 적 액세스를 제공한다는 점에서 db_datareader 역할과 같습니다. 또한 사용자 또는 사용자가 속한 역할에 대한 명시적인 DENY로 차단할 수 있습니다. 그러나 db_datareader와 달리 db_datawriter는 INSERT, UPDATE 및 DELETE 권한을 제공합니다. 다시 말하지만, 권한이 암시 적이기 때문에 sys.database_permissions에 이러한 권한이 표시되지 않습니다. db_datareader와 마찬가지로이 역할의 구성원을 확인하여 감사시 실제 권한을 확인해야합니다.

db_datawriter 역할은 데이터베이스의 모든 테이블과 뷰에 대해 INSERT, UPDATE 및 DELETE에 대한 암시 적 액세스를 제공합니다. SQL Server 2005 이상에서는 명시 적 DENY가 개체에 대한 액세스를 차단합니다. 일반적으로 개발자는 모든 사용자가 아닌 경우 프로덕션 환경에서이 역할의 구성원이 아닙니다. db_datareader보다 일반적인 것은 아니지만 일반 사용자를 위해 프로덕션에서이 역할을 사용하는 것이 일반적이지는 않습니다. 응용 프로그램에서 때때로이 역할이 필요합니다. 사용자 정의 데이터베이스 역할을 만들고 명시 적으로 사용 권한을 정의하는 것이이 역할을 사용하는 것보다 더 좋습니다.

+0

db_reader 및 db_writer 역할을 알고 있습니다. 요점은 내 도메인 사용자가 db에 레코드를 추가/업데이트 할 수없는 sysadmin 서버 역할이 없다는 것입니다. 나는 그들이 sys_admin이되기를 원하지 않는다. 이것은 보안상의 위험이다. – user7421969

관련 문제