SQL Server 2008 : 사용자 이름에 권한을 부여하려면 어떻게합니까?


102

SQL Server 인증을 통해 ODBC 연결을 설정할 수 있어야합니다.

SSMS에서 사용자가 특정 데이터베이스에 대한 모든 권한을 가질 수있는 권한을 어떻게 부여합니까?

SSMS를 사용하여 그래픽으로이 작업을 수행하는 방법이 있습니까?

답변:


139

사용자에게 모든 읽기 권한을 부여하려면 다음을 사용할 수 있습니다.

EXEC sp_addrolemember N'db_datareader', N'your-user-name'

그러면 db_datareader해당 사용자에게 기본 역할 (모든 테이블에 대한 읽기 권한) 이 추가 됩니다.

db_datawriter사용자에게 모든 테이블에 대한 모든 쓰기 권한 (INSERT, UPDATE, DELETE)을 제공 하는 역할 도 있습니다.

EXEC sp_addrolemember N'db_datawriter', N'your-user-name'

더 세분화해야하는 경우 다음 GRANT명령을 사용할 수 있습니다 .

GRANT SELECT, INSERT, UPDATE ON dbo.YourTable TO YourUserName
GRANT SELECT, INSERT ON dbo.YourTable2 TO YourUserName
GRANT SELECT, DELETE ON dbo.YourTable3 TO YourUserName

등-특정 테이블에 대한 SELECT, INSERT, UPDATE, DELETE 권한을 세부적으로 부여 할 수 있습니다.

이 모든 내용 은 SQL Server 용 MSDN 온라인 설명서에 잘 설명되어 있습니다.

예, 그래픽 방식으로도 수행 할 수 있습니다. SSMS에서 데이터베이스로 이동 한 다음 Security > Users권한을 부여 할 사용자를 마우스 오른쪽 버튼으로 클릭 한 다음 Properties하단에 "데이터베이스 역할 멤버십"을 볼 수 있습니다. 사용자 대 db 역할.

대체 텍스트


어떻게 든 SSMS의 보안 트리에 사용자 노드가없고 로그인 및 자격 증명 만 있습니다. 이와 별도로 sp_addrolemember가 작동하려면 사용자를 해당 데이터베이스에 매핑해야합니다. 그렇지 않으면 "user ... 데이터베이스에 존재합니다. "오류가 표시됩니다 ( stackoverflow.com/questions/7232559/…- 허용 된 답변에 대한 주석 참조)-사용자의 로그인 개체 속성을 통해 user-db 매핑에 연결할 수 있습니다
hello_earth

@marc_s, SSMS를 사용하여 특정 테이블과 관련된 권한을 부여하는 방법은 무엇입니까?
CAD :

1
@Chathuranga : 무료로 제공
marc_s

61

정말로 그들이 모든 권리를 갖기를 원한다면 :

use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go

18

다음과 같이. 사용자 데이터베이스 소유자가됩니다.

EXEC sp_addrolemember N'db_owner', N'USerNAme'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.