다음을 통해 공유


CREATE LOGIN(Transact-SQL)

업데이트: 2006년 7월 17일

새 SQL Server 로그인을 만듭니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> }

<sources> ::=
    WINDOWS [ WITH <windows_options> [ ,... ] ]
    | CERTIFICATE certificateName
    | ASYMMETRIC KEY asym_key_name

<option_list1> ::= 
    PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ]
    [ , <option_list2> [ ,... ] ]

<option_list2> ::=  
    SID = sid
    | DEFAULT_DATABASE = database    
    | DEFAULT_LANGUAGE = language
    | CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}
    | CREDENTIAL = credential_name 

<windows_options> ::=      
    DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language

인수

  • login_name
    만들 로그인 이름을 지정합니다. 로그인에는 SQL Server 로그인, Windows 로그인, 인증서 매핑 로그인 및 비대칭 키 매핑 로그인의 네 가지 유형이 있습니다. login_name이 Windows 도메인 계정에서 매핑되는 경우에는 login_name을 대괄호([ ])로 묶어야 합니다. 이 항목의 뒷부분에 나오는 예제 4를 참조하십시오.
  • WINDOWS
    로그인이 Windows 로그인에 매핑되도록 지정합니다.
  • CERTIFICATE certificateName
    이 로그인과 연결될 인증서의 이름을 지정합니다. 이 인증서는 master 데이터베이스에 이미 있어야 합니다.
  • ASYMMETRIC KEY asym_key_name
    이 로그인과 연결될 비대칭 키의 이름을 지정합니다. 이 키는 master 데이터베이스에 이미 있어야 합니다.
  • PASSWORD ='password'
    SQL Server 로그인에만 적용됩니다. 만들 로그인의 암호를 지정합니다. 이 값은 이미 해시된 상태일 수 있습니다. 강력한 암호를 사용해야 합니다. 자세한 내용은 강력한 암호를 참조하십시오.
  • PASSWORD **=**hashed_password
    HASHED 키워드에만 적용됩니다. 생성되는 로그인에 대한 암호의 해시된 값을 지정합니다.
  • HASHED
    SQL Server 로그인에만 적용됩니다. PASSWORD 인수 다음에 입력한 암호가 이미 해시되었음을 지정합니다. HASHED 옵션은 암호 정책 확인이 해제된 로그인에만 사용할 수 있습니다. 이 옵션을 선택하지 않으면 암호로 입력한 문자열이 데이터베이스에 저장되기 전에 해시됩니다.
  • MUST_CHANGE
    SQL Server 로그인에만 적용됩니다. 이 옵션을 선택한 경우 새 로그인을 처음 사용할 때 SQL Server에서는 새 암호를 묻는 메시지를 표시합니다.
  • CREDENTIAL **=**credential_name
    새 SQL Server 로그인에 매핑할 자격 증명의 이름입니다. 자격 증명이 서버에 이미 있어야 합니다.
  • SID = sid
    SQL Server 로그인에만 적용됩니다. 새 SQL Server 로그인의 GUID를 지정합니다. 이 옵션을 선택하지 않으면 SQL Server에서 자동으로 GUID를 할당합니다.
  • DEFAULT_DATABASE **=**database
    로그인에 할당할 기본 데이터베이스를 지정합니다. 이 옵션을 선택하지 않으면 기본 데이터베이스가 master로 설정됩니다.
  • DEFAULT_LANGUAGE **=**language
    로그인에 할당할 기본 언어를 지정합니다. 이 옵션을 선택하지 않으면 기본 언어가 서버의 현재 기본 언어로 설정됩니다. 나중에 서버의 기본 언어가 변경되더라도 로그인의 기본 언어는 그대로 유지됩니다.
  • CHECK_EXPIRATION = { ON | OFF }
    SQL Server 로그인에만 적용됩니다. 이 로그인에 암호 만료 정책을 적용할지 여부를 지정합니다. 기본값은 OFF입니다.
  • CHECK_POLICY = { ON | OFF }
    SQL Server 로그인에만 적용됩니다. SQL Server가 실행 중인 컴퓨터의 Windows 암호 정책을 이 로그인에 적용하도록 지정합니다. 기본값은 ON입니다.

주의

암호는 대소문자를 구분합니다.

SQL Server 로그인을 만들 때만 암호를 미리 해시할 수 있습니다.

MUST_CHANGE를 지정한 경우에는 CHECK_EXPIRATION 및 CHECK_POLICY를 ON으로 설정해야 합니다. 그렇지 않으면 문이 실패합니다.

CHECK_POLICY = OFF와 CHECK_EXPIRATION = ON의 조합은 지원되지 않습니다.

CHECK_POLICY를 OFF로 설정하면 lockout_time이 다시 설정되고 CHECK_EXPIRATION이 OFF로 설정됩니다.

ms189751.note(ko-kr,SQL.90).gif중요:
CHECK_EXPIRATION 및 CHECK_POLICY는 이상 버전에서만 적용됩니다. 자세한 내용은 암호 정책을 참조하십시오.

인증서나 비대칭 키에서 만든 로그인은 코드 서명 용도로만 사용되며 SQL Server에 연결할 때는 사용할 수 없습니다. 인증서나 비대칭 키가 master 데이터베이스에 이미 있는 경우에만 인증서나 비대칭 키에서 로그인을 만들 수 있습니다.

사용 권한

서버에 대한 ALTER ANY LOGIN 권한이 필요합니다. CREDENTIAL 옵션을 사용하는 경우에는 서버에 대한 ALTER ANY CREDENTIAL 권한도 필요합니다.

1. 암호로 로그인 만들기

다음 예에서는 특정 사용자에 대한 로그인을 만들고 암호를 할당합니다. MUST_CHANGE 옵션을 사용하는 경우 사용자는 서버에 처음 연결할 때 이 암호를 변경해야 합니다.

CREATE LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' MUST_CHANGE;
GO

2. 자격 증명에 매핑된 로그인 만들기

다음 예에서는 특정 사용자에 대한 로그인을 만듭니다. 이 로그인은 자격 증명으로 매핑됩니다.

CREATE LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>', 
    CREDENTIAL = <credential_name>;
GO

3. 인증서에서 로그인 만들기

다음 예에서는 master의 인증서를 사용하여 특정 사용자에 대한 로그인을 만듭니다.

USE MASTER;
CREATE CERTIFICATE <certificateName>
    WITH SUBJECT = '<login_name> certificate in master database',
    EXPIRY_DATE = '02/02/2009';
GO
CREATE LOGIN <login_name> FROM CERTIFICATE <certificateName>;
GO

4. Windows 도메인 계정에서 로그인 만들기

다음 예에서는 Windows 도메인 계정을 사용하여 [Adventure-Works\Mary5] 로그인을 만듭니다.

CREATE LOGIN [Adventure-Works\Mary5] FROM WINDOWS;
GO

참고 항목

참조

ALTER LOGIN(Transact-SQL)
DROP LOGIN(Transact-SQL)
EVENTDATA(Transact-SQL)

관련 자료

보안 주체
암호 정책

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 7월 17일

변경된 내용
  • 인증서나 비대칭 키에서 만든 로그인 사용에 대한 설명을 추가했습니다.