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


sp_password (Transact-SQL)

Область применения: SQL Server

Добавляет или изменяет пароль для имени входа SQL Server.

Внимание

Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте ALTER LOGIN .

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_password
    [ [ @old = ] N'old' ]
    , [ @new = ] N'new'
    [ , [ @loginame = ] N'loginame' ]
[ ; ]

Аргументы

[ @old = ] N'old'

Старый пароль. @old имеет имя sysname с значением по умолчаниюNULL.

[ @new = ] N'new'

Новый пароль. @new — sysname без значения по умолчанию. @old необходимо указать, если именованные параметры не используются.

Внимание

Не используйте NULL пароль. Выбирайте надежные пароли. Дополнительные сведения см. в разделе Strong Passwords.

[ @loginame = ] N'loginame'

Имя имени входа, затронутого изменением пароля. @loginame — sysname с значением по умолчаниюNULL. @loginame уже должны существовать и могут быть указаны только членами предопределенных ролей сервера sysadmin или securityadmin.

Значения кода возврата

0 (успешно) или 1 (сбой).

Замечания

sp_password вызывает ALTER LOGIN. Эта инструкция поддерживает дополнительные параметры. Сведения об изменении паролей см. в разделе ALTER LOGIN.

sp_password невозможно выполнить в рамках определяемой пользователем транзакции.

Разрешения

Требуется разрешение ALTER ANY LOGIN. Кроме того, требуется CONTROL SERVER разрешение на сброс пароля без предоставления старого пароля или при изменении имени входа имеется CONTROL SERVER разрешение.

Участник всегда может изменить свой собственный пароль.

Примеры

А. Изменение пароля для входа без знания старого пароля

Следующий пример показывает, как пользоваться ALTER LOGIN для смены пароля учетной записи Victoria на B3r1000d#2-36. Этот метод предпочтителен. Пользователь, выполняющий эту команду, должен иметь CONTROL SERVER разрешение.

ALTER LOGIN Victoria
    WITH PASSWORD = 'B3r1000d#2-36';
GO

B. Сменить пароль

Следующий пример показывает, как пользоваться ALTER LOGIN для смены пароля пользователя Victoria с B3r1000d#2-36 на V1cteAmanti55imE. Этот метод предпочтителен. Пользователь Victoria может выполнить эту команду без дополнительных разрешений. Другим пользователям требуется ALTER ANY LOGIN разрешение.

ALTER LOGIN Victoria
    WITH PASSWORD = 'V1cteAmanti55imE'
    OLD_PASSWORD = 'B3r1000d#2-36';
GO