CREATE LOGIN(Transact-SQL)
새 SQL Server 로그인을 만듭니다.
구문
CREATE LOGIN loginName { WITH <option_list1> | FROM <sources> }
<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
<sources> ::=
WINDOWS [ WITH <windows_options>[ ,... ] ]
| CERTIFICATE certname
| ASYMMETRIC KEY asym_key_name
<windows_options> ::=
DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
인수
loginName
만들 로그인 이름을 지정합니다. 로그인에는 SQL Server 로그인, Windows 로그인, 인증서 매핑 로그인 및 비대칭 키 매핑 로그인의 네 가지 유형이 있습니다. Windows 도메인 계정에서 매핑된 로그인을 만들 경우 [<domainName>\<loginName>] 형식에 Windows 2000 이전 버전의 사용자 로그온 이름을 사용해야 합니다. loginName@DomainName 형식에 UPN을 사용할 수 없습니다. 이 항목의 뒷부분에 나오는 예제 4를 참조하십시오.PASSWORD ='password'
SQL Server 로그인에만 적용됩니다. 만들 로그인의 암호를 지정합니다. 강력한 암호를 사용해야 합니다. 자세한 내용은 강력한 암호를 참조하십시오.PASSWORD **=**hashed_password
HASHED 키워드에만 적용됩니다. 만들 로그인에 대한 암호의 해시된 값을 지정합니다.HASHED
SQL Server 로그인에만 적용됩니다. PASSWORD 인수 다음에 입력한 암호가 이미 해시되었음을 지정합니다. 이 옵션을 선택하지 않으면 암호로 입력한 문자열이 데이터베이스에 저장되기 전에 해시됩니다. 이 옵션은 두 서버 간에 데이터베이스를 마이그레이션하는 데에만 사용해야 합니다. HASHED 옵션을 사용하여 새 로그인을 만들면 안 됩니다.MUST_CHANGE
SQL Server 로그인에만 적용됩니다. 이 옵션을 선택한 경우 새 로그인을 처음 사용할 때 SQL Server 에서는 새 암호를 묻는 메시지를 표시합니다.CREDENTIAL **=**credential_name
새 SQL Server 로그인에 매핑할 자격 증명의 이름입니다. 자격 증명이 서버에 이미 있어야 합니다. 현재 이 옵션은 자격 증명을 로그인에 연결하는 역할만 합니다. 이후에 출시되는 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입니다.WINDOWS
로그인이 Windows 로그인에 매핑되도록 지정합니다.CERTIFICATE certname
이 로그인과 연결될 인증서의 이름을 지정합니다. 이 인증서는 master 데이터베이스에 이미 있어야 합니다.ASYMMETRIC KEY asym_key_name
이 로그인과 연결될 비대칭 키의 이름을 지정합니다. 이 키는 master 데이터베이스에 이미 있어야 합니다.
주의
암호는 대소문자를 구분합니다.
SQL Server 로그인을 만들 때만 암호를 미리 해시할 수 있습니다.
MUST_CHANGE를 지정한 경우에는 CHECK_EXPIRATION 및 CHECK_POLICY를 ON으로 설정해야 합니다. 그렇지 않으면 문이 실패합니다.
CHECK_POLICY = OFF와 CHECK_EXPIRATION = ON의 조합은 지원되지 않습니다.
CHECK_POLICY를 OFF로 설정하면 lockout_time이 다시 설정되고 CHECK_EXPIRATION이 OFF로 설정됩니다.
중요 |
---|
CHECK_EXPIRATION 및 CHECK_POLICY는 Windows Server 2003 이상 버전에서만 적용됩니다. 자세한 내용은 암호 정책을 참조하십시오. |
인증서나 비대칭 키에서 만든 로그인은 코드 서명 용도로만 사용되며 SQL Server에 연결할 때는 사용할 수 없습니다. 인증서나 비대칭 키가 master 데이터베이스에 이미 있는 경우에만 인증서나 비대칭 키에서 로그인을 만들 수 있습니다.
사용 권한
서버에 대한 ALTER ANY LOGIN 또는 ALTER LOGIN 권한이 필요합니다.
CREDENTIAL 옵션을 사용하는 경우에는 서버에 대한 ALTER ANY CREDENTIAL 권한도 필요합니다.
예
1. 암호로 로그인 만들기
다음 예에서는 특정 사용자 ID에 대한 로그인을 만들고 암호를 할당합니다. MUST_CHANGE 옵션을 사용하는 경우 사용자는 서버에 처음 연결할 때 이 암호를 변경해야 합니다.
CREATE LOGIN <loginName> WITH PASSWORD = '<enterStrongPasswordHere>' MUST_CHANGE;
GO
2. 자격 증명에 매핑된 로그인 만들기
다음 예에서는 특정 사용자의 ID를 사용하여 사용자 로그인을 만듭니다. 이 로그인은 자격 증명에 매핑됩니다.
CREATE LOGIN <loginName> WITH PASSWORD = '<enterStrongPasswordHere>',
CREDENTIAL = <credentialName>;
GO
3. 인증서에서 로그인 만들기
다음 예에서는 master의 자격 증명을 사용하여 특정 사용자 ID에 대한 로그인을 만듭니다.
USE MASTER;
CREATE CERTIFICATE <certificateName>
WITH SUBJECT = '<loginName> certificate in master database',
EXPIRY_DATE = '12/05/2025';
GO
CREATE LOGIN <loginName> FROM CERTIFICATE <certificateName>;
GO
4. Windows 도메인 계정에서 로그인 만들기
다음 예에서는 Windows 도메인 계정을 사용하여 로그인을 만듭니다.
CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;
GO