포함 된 단일 데이터베이스에 대한 사용자 작성


9

저는 MSSQL을 처음 접했고 현재 2012 버전을 사용하고 있습니다. 내가하려는 것은 포함 된 데이터베이스에 대한 사용자를 만들고 해당 사용자에게 해당 데이터베이스에 대한 액세스 권한을 부여하는 것입니다.

준비된 명령문을 사용하여 JAVA에서이 SQL을 호출합니다.

답변:


12

데이터베이스에서 인증하는 SQL Server 2012에 포함 된 사용자 를 만들려면 다음을 수행하십시오.

use YourDatabase
go

create user YourContainedUser
with password = 'yourPassword'
go

contained database authentication인스턴스에서 먼저 활성화되어 있고 데이터베이스가 부분 포함으로 설정되어 있는지 확인해야합니다 .

exec sp_configure 'contained database authentication', 1
go
reconfigure
go

alter database YourDatabase
set containment = partial
go

위의 명령이 실행되면 위에서 CREATE USER설명한대로 명령문으로 포함 된 사용자를 작성할 수 있어야합니다 .

편집 : @AaronBertrand의 훌륭한 의견 및 포인트 :

또한 연결 문자열은 반드시 자격 증명의 일부로 데이터베이스 이름을 사용해야합니다. 데이터베이스를 지정하지 않으면 SQL Server는 모든 데이터베이스를 확인하지 않고 어떤 데이터베이스를 의미하는지 파악하려고하지 않습니다. 또한 제한이 명확하지 않은 경우 코드에서 데이터베이스 간 쿼리를 수행 할 수 없습니다.


모든 도움을 주셔서 감사합니다.에 대한 한 가지 의견은 Java JDBC 문 으로이 작업을 수행하는 동안입니다. 나는 PreparedStaments 사용하여 그것을 할 수 없었습니다 .JDBC는 이것에 만족하지 않았습니다. 그래서 연결된 문자열을 문으로 사용했습니다.
imellan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.