Поделиться через


CREATE LOGIN (Transact-SQL)

Изменения: 17 июля 2006 г.

Создает новое имя входа 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 следует заключить в квадратные скобки ([ ]). См. пример Г далее в этом разделе.
  • 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. Задает идентификатор GUID нового имени входа SQL Server. Если этот параметр не выбран, то SQL Server назначает идентификатор GUID автоматически.
  • DEFAULT_DATABASE **=**database
    База данных по умолчанию, связываемая с именем входа. Если этот параметр не задан, то базой данных по умолчанию становится master.
  • DEFAULT_LANGUAGE **=**language
    Язык по умолчанию, назначаемый имени входа. Если этот параметр не задан, то в качестве языка по умолчанию выбирается текущий язык по умолчанию для сервера. При смене языка по умолчанию для сервера язык по умолчанию имени входа не меняется.
  • CHECK_EXPIRATION = { ON | OFF }
    Применяется только к именам входа SQL Server. Показывает, применяется ли к данному имени входа политика истечения срока действия паролей. Значение по умолчанию — OFF.
  • CHECK_POLICY = { ON | OFF }
    Применяется только к именам входа SQL Server. Указывает, что к данному имени входа следует принудительно применять политики паролей Windows компьютера, на котором выполняется SQL Server. Значение по умолчанию — 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(ru-ru,SQL.90).gifВажно!
Параметры CHECK_EXPIRATION и CHECK_POLICY будут принудительно применяться только в и более поздних версий. Дополнительные сведения см. в разделе Политика паролей.

Имена входа, созданные из сертификатов или асимметричных ключей, используются только для подписи кода. Они не могут использоваться для подключения к SQL Server. Имя входа можно создать на основе сертификата или ассиметричного ключа только в том случае, если сертификат или асимметричный ключ уже существуют в базе данных master.

Разрешения

Требуется наличие разрешения ALTER ANY LOGIN на сервере. Если используется параметр CREDENTIAL, также необходимо разрешение ALTER ANY CREDENTIAL на сервере.

Примеры

А. Создание имени входа с паролем

В следующем примере создается имя входа для конкретного пользователя и назначается пароль. Параметр MUST_CHANGE требует, чтобы пользователи изменили этот пароль при первом подключении к серверу.

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

Б. Создание имени входа, сопоставленного с учетными данными

В следующем примере создается имя входа для конкретного пользователя. Это имя входа сопоставлено с учетными данными.

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

В. Создание имени входа на основе сертификата

В следующем примере создается имя входа для конкретного пользователя из сертификата в главной базе данных.

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

Г. Создание имени входа на основе учетной записи домена Windows

В следующем примере имя входа [Adventure-Works\Mary5] создается на основе учетной записи домена Windows.

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

См. также

Справочник

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

Другие ресурсы

Участники
Политика паролей

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Измененное содержимое
  • Разъяснено использование имен входа, созданных из сертификата или асимметричного ключа.