2013-08-22 2 views
0

응용 프로그램에서 데이터베이스 테이블 (SQL Server)을 업데이트 할 수 있습니다.이 데이터베이스를 클라이언트 컴퓨터에 호스트해야합니다 .How 테이블을 직접 수정하도록 보호 할 수 있습니다. 일부 데이터가있는 간단한 SQL 테이블입니다. 도움을 요청하십시오.SQL Management Studio에서 직접 데이터를 수정하는 SQL 테이블 보호

+1

사용 권한은 응용 프로그램이 아니라 로그인/사용자를 기반으로합니다. 누군가가 동일한 자격 증명을 사용하여 응용 프로그램이 연결을 열 때 사용되는 자격 증명으로 Management Studio에서 연결을 열면 사용자에게 동일한 권한이 부여됩니다. –

+0

그러나 어느 누구도 "Windows 인증"모드에서 데이터베이스에 액세스 할 수 있습니다. – Ankit

+0

Windows 계정 (또는 해당 계정이 속한 그룹)이 직접 또는 간접적으로 로그인 한 사람 만 하나 이상의 로그인이 허용됩니다. 또한 권한은 해당 로그인에 부여 된 권한을 기반으로합니다. –

답변

0

GRANT을 사용하여 사용자로부터 "바람직하지 않은"권한 (예 : UPDATE)을 제거 할 수 있습니다.

일반적으로 나는 특별한 역할 "read-only-role"을 소개하고 필요한 권한 (귀하의 경우에만 SELECT)을 해당 역할에 부여합니다.이 경우 database-level roles을 사용합니다. 두 번째로 일종의 "writer-role"을 만들고 같은 작업을 수행합니다 (예 : INSERT, UPDATE, DELETE). 이것은 하나의 예일뿐입니다. 데이터베이스 수준에서 필요한 역할/사용자 그룹과 해당 역할에서 가져야하는 권한을 분명히해야합니다.

간단하고 사용자에게 가능한 한 적은 권한을 부여하십시오.

추가 도움말 - article에 대한 유용한 정보를 제공합니다.

또한 Identity and Access Control-SQL Server 2008 R2 테넌트 설명서의 섹션을 살펴보십시오.

조금 도움이 되었습니까? * Jost

+0

답장을 보내 주셔서 감사합니다. 클라이언트 측에서 데이터베이스를 호스트하면 Windows 인증 모드에서 액세스 할 수 있으며 역할 권한이 변경됩니까? 나는 SQL 서버에 약하다. – Ankit

+0

처음에는 분명히 MS SQL Server의 전문가는 아닙니다. 둘째,이 문맥에서 [Windows 인증] (http://msdn.microsoft.com/en-us/library/vstudio/bb669066.aspx)은 Windows 사용자가 유효한 SQL Server 사용자이기도하다는 것을 (내가 아는 한) 의미합니다. (추가 인증없이). 따라서 이러한 계정 또는 기본 역할에 적절한 권한 (= 부여)을 설정해야합니다. – Jost

관련 문제