시스템 사용자가 각자 자신의 데이터베이스 사용자 (DB가 아닌)에 액세스하는 데 필요한 시스템 사용자 테이블이 있습니다. 시스템에 자체 로그인이 있습니다. 사용자가 데이터베이스간에 동기화하지 않기 때문에 테스트중인 SQL AlwaysOn 분산 서버 설정에 문제가 있습니다. 따라서 시스템이 데이터베이스 사용자를 생성하더라도 보조 노드로 전복하지는 않으며 폴백이 발생하면이 사용자는 로그인 할 수 없습니다.SQL Server 2012 SQL 쿼리에서 사용자 만들기
DB 사용자를 생성하는 스크립트를 작성하고 싶습니다. DB의 테이블에서. 그래서, 왜 다음 작품을하지 않으며 어떻게 작동시킬 수 있습니까?
DECLARE @foo VARCHAR(250)
SET @foo = (SELECT USER_NAME FROM USER_TABLE WHERE USER_ID = 1337)
CREATE USER @foo
은 현재 내가
왜 * *이 작동하지 않습니다 '@foo'근처의 구문이 잘못을 얻을? 어떤 오류가 발생하고 있습니까? – RBarryYoung
죄송합니다. – Jansky
변수와 명령을 결합 할 수 없습니다. SQL은'@ foo'를 값으로 대체하지 않지만'@ foo'라는 이름의 사용자를 만들려고 시도합니다 (이는 잘못된 이름 임). 이를 위해서는 동적 SQL을 사용해야합니다. Dave K가 방금 답변을 게시했습니다. –