ALTER LOGIN (Transact-SQL)
Изменения: 12 декабря 2006 г.
Изменяет свойства учетной записи SQL Server.
Синтаксические обозначения в Transact-SQL
Синтаксис
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ ,... ]
}
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password' | hashed_password HASHED
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
| CREDENTIAL = credential_name
| NO CREDENTIAL
<password_option> ::=
MUST_CHANGE | UNLOCK
Аргументы
- login_name
Указывает имя входа SQL Server, которое необходимо изменить.
- ENABLE | DISABLE
Включает или отключает данное имя входа.
- PASSWORD **=**password'
Применяется только к именам входа SQL Server. Указывает пароль для имени входа, которое необходимо изменить. При вводе пароля учитывается регистр символов.
- PASSWORD **=**hashed_password
Применимо только к ключевому слову HASHED. Указывает хэшированное значение пароля для создаваемого имени входа.
HASHED
Применяется только к именам входа SQL Server. Указывает, что пароль, введенный после аргумента PASSWORD, уже хэширован. Если этот параметр не выбран, то пароль хэшируется перед сохранением в базе данных.Примечание. Этот аргумент работает только с хэшами, созданными в SQL Server 2000 или более поздних версиях.
- OLD_PASSWORD ='oldpassword'
Применяется только к именам входа SQL Server. Текущий пароль имени входа, которому будет присвоен новый пароль. При вводе пароля учитывается регистр символов.
- MUST_CHANGE
Применяется только к именам входа SQL Server. Если данный параметр включен, SQL Server потребует ввести новый пароль при первом использовании измененного имени входа.
- DEFAULT_DATABASE **=**database
Указывает базу данных по умолчанию, присвоенную имени входа.
- DEFAULT_LANGUAGE **=**language
Указывает язык по умолчанию, присвоенный имени входа.
- NAME = login_name
Указывает новое имя для имени входа, которое необходимо переименовать. Если оно является именем входа Windows, то идентификатор защиты (SID) участника Windows, соответствующий новому имени, должен совпадать с идентификатором защиты, относящимся к имени входа SQL Server. Новое имя входа SQL Server не может содержать обратную косую черту (\).
- CHECK_EXPIRATION = { ON | OFF }
Применяется только к именам входа SQL Server. Указывает, надо ли принудительно применять к данному имени входа политику истечения срока действия паролей. Значение по умолчанию — OFF.
- CHECK_POLICY = { ON | OFF }
Применяется только к именам входа SQL Server. Указывает, что политика паролей Windows на компьютере, где выполняется SQL Server, должна быть принудительно применена к данному имени входа. Значение по умолчанию — ON.
- CREDENTIAL = credential_name
Имя учетных данных для сопоставления с именем входа SQL Server. Учетные данные уже должны существовать на сервере. Дополнительные сведения см. в разделе Учетные данные.
- NO CREDENTIAL
Удаляет любые существующие сопоставления имени входа с учетными данными сервера. Дополнительные сведения см. в разделе Учетные данные.
- UNLOCK
Применяется только к именам входа SQL Server. Указывает, что заблокированное имя входа должно быть разблокировано.
Замечания
Если параметр CHECK_POLICY имеет значение ON, аргумент HASHED использовать нельзя.
При изменении значения CHECK_POLICY на ON происходит следующее.
- Параметр CHECK_EXPIRATION также получает значение ON, если ему явно не присваивается значение OFF
- Журнал паролей инициализируется хэшированным значением текущего пароля
При изменении CHECK_POLICY на OFF происходит следующее.
- Параметр CHECK_EXPIRATION также получает значение OFF
- Журнал паролей очищается
- Значение параметра lockout_time сбрасывается
Если задан параметр MUST_CHANGE, то параметры CHECK_EXPIRATION и CHECK_POLICY должны иметь значение ON. В противном случае выполнение инструкции приведет к ошибке.
Если значение параметра CHECK_POLICY установлено равным OFF, то параметр CHECK_EXPIRATION не может иметь значения ON. Выполнение инструкции ALTER LOGIN с таким сочетанием параметров завершится ошибкой.
Важно! |
---|
Параметры CHECK_EXPIRATION и CHECK_POLICY будут принудительно применяться только в или более поздних версиях. Дополнительные сведения см. в разделе Политика паролей. |
Важно! |
---|
Известная проблема в может помешать сбросу счетчика попыток неверного ввода пароля после достижения порогового значения Account Lockout. Это может вызвать немедленную блокировку при последующих неудачных попытках входа в систему. Сброс счетчика плохих паролей можно произвести вручную, ненадолго установив значение CHECK_POLICY = OFF, после чего установить CHECK_POLICY = ON. Дополнительные сведения о пороговом значении Account Lockout см. статью 818078 в базе знаний Майкрософт: Учетная запись пользователя может быть преждевременно заблокирована. |
Нельзя использовать параметр ALTER_LOGIN с аргументом DISABLE для запрещения доступа группе Windows. Например, инструкция ALTER_LOGIN [домен\группа] DISABLE вернет следующее сообщение об ошибке:
«Сообщение 15151, уровень 16, состояние 1, строка 1.
Не удалось изменить имя входа "Домен\Группа", так как оно не существует или отсутствуют разрешения».
Это сделано намеренно.
Разрешения
Необходимо разрешение ALTER ANY LOGIN.
Если используется параметр CREDENTIAL, то также требуется разрешение ALTER ANY CREDENTIAL.
Если измененное имя входа является получателем разрешения CONTROL SERVER, то также требуется разрешение CONTROL SERVER для внесения следующих изменений:
- Сброс пароля без указания старого.
- Включение параметров MUST_CHANGE, CHECK_POLICY или CHECK_EXPIRATION.
- Изменение имени входа.
- Включение или отключение имени входа.
- Сопоставление имени входа с другими учетными данными.
Участник может изменить пароль, язык по умолчанию и базу данных по умолчанию для своего имени входа.
Примеры
А. Включение отключенного имени входа
Следующий пример включает имя входа Mary5
.
ALTER LOGIN Mary5 ENABLE;
Б. Изменение пароля для имени входа
В следующем примере изменяется пароль Mary5
.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
В. Изменение имени входа
Следующий пример изменяет имя входа Mary5
на Joe2
.
ALTER LOGIN Mary5 WITH NAME = Joe2;
Г. Сопоставление имени входа с учетными данными
Следующий пример сопоставляет имя входа Joe2
с учетными данными Custodian04
.
ALTER LOGIN Joe2 WITH CREDENTIAL = Custodian04;
См. также
Справочник
CREATE LOGIN (Transact-SQL)
DROP LOGIN (Transact-SQL)
CREATE CREDENTIAL (Transact-SQL)
EVENTDATA (Transact-SQL)
Другие ресурсы
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
12 декабря 2006 г. |
|