Экспорт (0) Печать
Развернуть все
Развернуть Свернуть
Эта статья переведена вручную. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

CREATE LOGIN (Transact-SQL)

Создает имя входа компонента Компонент Database Engine для SQL Server и База данных SQL Windows Azure.

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

-- SQL Server Syntax
CREATE LOGIN login_name { 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
-- Syntax for Windows Azure SQL Database

CREATE LOGIN login_name
 { WITH <option_list3> }

<option_list3> ::= 
    PASSWORD = { 'password' }
    [ SID = sid ]

login_name

Указывает имя пользователя для создаваемого имени входа. Существует четыре типа имен входа: имена входа SQL Server, имена входа Windows, имена входа, сопоставленные с помощью сертификата, а также имена входа, сопоставленные с помощью асимметричного ключа. При создании имен входа, сопоставленных с учетной записью домена Windows, необходимо использовать имя входа версии, более ранней, чем Windows 2000, с форматом [<domainName>\<login_name>]. Нельзя использовать UPN в формате login_name@DomainName. См. приведенный ниже пример Г. Имена входа проверки подлинности SQL Server имеют тип sysname, они должны соответствовать правилам для идентификаторов и не могут содержать символ «\». Имена входа Windows могут содержать символы «\».

PASSWORD ='password'

Применяется только к именам входа SQL Server. Задает пароль для создаваемого имени входа. Следует использовать надежные пароли. Дополнительные сведения см. в разделах Надежные пароли и Политика паролей.

При вводе пароля учитывается регистр символов. Пароли всегда должны содержать не менее 8 символов и не могут содержать более 128 символов. Пароли могут содержать символы a-z, A-Z, 0-9 и большинство неалфавитных символов. Пароли не могут содержать одиночные кавычки или login_name.

PASSWORD =hashed_password

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Применимо только к ключевому слову HASHED. Указывает хэшированное значение пароля для создаваемого имени входа.

HASHED

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Применяется только к именам входа SQL Server. Указывает, что введенный после аргумента PASSWORD пароль уже хэширован. Если этот параметр не установлен, введенная в качестве пароля строка хэшируется перед сохранением в базе данных. Данный параметр может быть применен только для миграции баз данных с одного сервера на другой. Не используйте параметр HASHED для создания новых имен входа. Параметр HASHED нельзя использовать с хэшами, созданными SQL Server 7 или более ранних версий.

MUST_CHANGE

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Применяется только к именам входа SQL Server. Если этот параметр задан, то при первом использовании нового имени входа SQL Server запрашивается новый пароль.

CREDENTIAL =credential_name

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Имя учетных данных для сопоставления с новым именем входа SQL Server. Учетные данные уже должны существовать на сервере. В настоящее время этот параметр лишь связывает учетные данные с именем входа. Учетные данные не могут быть сопоставлены с именем входа sa.

SID = sid

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Применяется только к именам входа SQL Server. Задает идентификатор GUID нового имени входа SQL Server. Если этот параметр не выбран, то SQL Server назначает идентификатор GUID автоматически.

DEFAULT_DATABASE =database

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

База данных по умолчанию, связываемая с именем входа. Если этот параметр не задан, то базой данных по умолчанию становится master.

DEFAULT_LANGUAGE =language

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Язык по умолчанию, назначаемый имени входа. Если этот параметр не задан, то в качестве языка по умолчанию выбирается текущий язык по умолчанию для сервера. При смене языка по умолчанию для сервера язык по умолчанию имени входа не меняется.

CHECK_EXPIRATION = { ON | OFF }

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Применяется только к именам входа SQL Server. Указывает, должна ли политика истечения срока действия паролей принудительно применяться к этому имени входа. Значение по умолчанию — OFF.

CHECK_POLICY = { ON | OFF }

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Применяется только к именам входа SQL Server. Указывает, что политики паролей Windows компьютера, на котором работает SQL Server, должны принудительно применяться к этому имени входа. Значение по умолчанию — ON.

Если политика Windows требует надежных паролей, то пароль должен обладать по крайней мере тремя из следующих четырех качеств:

  • Наличие символов верхнего регистра (A-Z).

  • Наличие строчных символов (a-z).

  • Числа (0-9).

  • Один из неалфавитных символов, например пробел, _, @, *, ^, %! #, $ или &.

WINDOWS

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Имя входа сопоставлено с именем входа Windows.

CERTIFICATE certname

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Имя сертификата, связываемого с данным именем входа. Этот сертификат должен уже существовать в базе данных master.

ASYMMETRIC KEY asym_key_name

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

Имя асимметричного ключа, связываемого с данным именем входа. Этот ключ должен уже существовать в базе данных 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.

Скрипт для передачи имен входа см. в разделе Способы передачи имен входа и паролей между экземплярами SQL Server 2005 и SQL Server 2008.

При создании имени входа оно автоматически включается, и ему предоставляется разрешение CONNECT SQL уровня сервера.

Имена входа базы данных SQL Windows Azure

В службах База данных SQL инструкция CREATE LOGIN должна быть единственной инструкцией в пакете.

В некоторых методах подключения к База данных SQL, например sqlcmd, необходимо добавить имя сервера служб База данных SQL к имени входа в строке соединения с использованием синтаксиса <login>@<server>. Например, если имя входа — login1, а полное имя сервера служб База данных SQL — servername.database.windows.net, то параметр username в строке соединения должен иметь вид login1@servername. Так как общая длина параметра составляет username 128 символов, длина имени login_name ограничена до 127 символов минус длина имени сервера. В примере login_name может иметь длину не более 117 символов, поскольку servername имеет длину 10 символов.

В службах База данных SQL для создания имени входа необходимо подключение к базе данных master.

Правила SQL Server позволяют создать имя входа для проверки подлинности SQL Server в формате <имя_входа>@<имя_сервера>. Если сервер База данных SQL — myazureserver, а имя входа — myemail@live.com, то необходимо указать имя входа в виде myemail@live.com@myazureserver.

Дополнительные сведения об именах входа служб База данных SQL см. в разделе Управление базами данных и именами входа в базу данных SQL Windows Azure.

В SQL Server требуется разрешение ALTER ANY LOGIN на сервер или членство в предопределенной роли сервера securityadmin.

В службах База данных SQL создавать новые имена входа могут только имя входа участника уровня сервера (созданного процессом провизионирования) или члены роли loginmanager базы данных в базе данных master.

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

После создания имя входа подключается к компоненту Компонент Database Engine или База данных SQL, но имеет разрешения только роли public. Попробуйте выполнить некоторые из приведенных ниже действий.

  • Чтобы подключиться к базе данных, создайте пользователя базы данных для имени входа. Дополнительные сведения см. в разделе CREATE USER (Transact-SQL).

  • Создайте определяемую пользователем роль сервера с помощью инструкции CREATE SERVER ROLE (Transact-SQL). Воспользуйтесь инструкциями ALTER SERVER ROLE и ADD MEMBER для добавления нового имени входа к определяемой пользователем роли сервера. Дополнительные сведения см. в разделах CREATE SERVER ROLE (Transact-SQL) и ALTER SERVER ROLE (Transact-SQL).

  • Воспользуйтесь процедурой sp_addsrvrolemember для добавления имени входа к предопределенной роли сервера. Дополнительные сведения см. в разделах Роли уровня сервера и sp_addsrvrolemember (Transact-SQL).

  • Воспользуйтесь инструкцией GRANT, чтобы предоставить разрешения уровня сервера новому имени входа или роли, содержащей это имя входа. Дополнительные сведения см. в разделе Инструкция GRANT (Transact-SQL).

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

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

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

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

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

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

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

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

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

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>', 
    CREDENTIAL = <credentialName>;
GO

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

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

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

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

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

В следующем примере имя входа создается на основе учетной записи домена Windows.

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2014 включительно.

CREATE LOGIN [<domainName>\<login_name>] FROM WINDOWS;
GO

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2014 Microsoft