2010-06-04 6 views
3

내 컴퓨터에서 관리자 권한으로 실행하면 데이터베이스를 만들 수 있지만 사용자를 만들려고하면이 오류 메시지와 함께 실패합니다.SQLServerExpress를 사용하여 사용자를 만드는 방법은 무엇입니까?

1> create user mark from login mark 
2> go 
Msg 15007, Level 16, State 1, Server ENDER\SQLEXPRESS, Line 1 
'mark' is not a valid login or you do not have permission. 

저는 이것을 수행하기 위해 sqlcmd를 사용하고 있습니다.

답변

5

당신은 예를 들어, 데이터베이스 사용자 "표시"

를 작성하기 전에 서버 로그인 "표시"를 작성해야 Windows 인증의 경우

CREATE LOGIN [mark] FROM WINDOWS WITH DEFAULT_DATABASE=[master] 

로그인이 생성되면 관리 스튜디오

을 사용 또는 SQL Server 인증을 위해 다음
CREATE LOGIN [mark] WITH PASSWORD=N'YourPassword', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF 

은이 서버 로그인의 목록을 얻을 수있는 방법으로

CREATE USER [mark] FOR LOGIN [mark] 

작동합니다 쿼리되고 다음

SELECT 
log.name AS [Name], 
CASE WHEN N'U' = log.type THEN 0 WHEN N'G' = log.type THEN 1 WHEN N'S' = log.type THEN 2 WHEN N'C' = log.type THEN 3 WHEN N'K' = log.type THEN 4 END AS [LoginType], 
log.is_disabled AS [IsDisabled], 
log.create_date AS [CreateDate] 
FROM 
sys.server_principals AS log 
WHERE 
(log.type in ('U', 'G', 'S', 'C', 'K') AND log.principal_id not between 101 and 255 AND log.name <> N'##MS_AgentSigningCertificate##') 
ORDER BY 
[Name] ASC 
관련 문제