2015-01-27 2 views
0

나는이 SQL 쿼리가 : 나는 SQL 관리 Studio에서 실행할 때쿼리 Managment를 스튜디오에서 잘 작동하지만 배치 파일에서 오류가 발생합니다/CMD 프롬프트

CREATE USER [myDomain\myUser] FROM LOGIN [myDomain\myUser]; 

작품을 잘합니다. 즉, (USE [myDB];)

나는 도스 배치 파일에서 같은 쿼리를 실행하고 전에 DB I "사용"일 동안 성공적으로 사용자를 생성한다 :

sqlcmd -E -S localhost\myInstance -Q "CREATE USER [myDomain\myUser] FROM LOGIN [myDomain\myUser];" 

그것은 발생을 오류 :

Msg 15023, Level 16, State 1, Line 1 
User, group, or role 'myDomain\myUser' already exists in the current database. 

처음에는 뭔가 잘못되어 있어야하고 명령 프롬프트에서 실행하려고했습니다. 그것은 같은 오류를 던졌다.

어떤 문제가 발생할 수 있으니 알려주세요.

+1

오류 메시지가 명확하게 표시되므로 생성하려는 사용자 ('FHNET \ fhstest')가 이미 있습니다. 기존 사용자, 그룹 또는 역할과 동일한 이름으로 사용자, 그룹 또는 역할을 작성할 수 없습니다. – SchmitzIT

답변

1

for the DB I "use"d before (USE [myDB];)

당신은 SQLCMD 호출에 사용하는 DB를 지정하지 마십시오. sqlcmd /?을 입력하거나 here 데이터베이스를 지정하는 방법을 읽으십시오.

+0

'-d db_name'이제 그 옵션을 사용해보고 어떻게 동작하는지 보도록하겠습니다. 고맙습니다! –

+0

이제 작동했습니다. 이전 배치 파일에서 오류를 발생시키지 않았습니다. 고맙습니다! –