sp_password (Transact-SQL)
Устанавливает или меняет пароль для имени входа Microsoft SQL Server.
![]() |
---|
В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Пользуйтесь вместо этого командой ALTER LOGIN. |
Синтаксис
sp_password [ [ @old = ] 'old_password' , ]
{ [ @new =] 'new_password' }
[ , [ @loginame = ] 'login' ]
Аргументы
[ @old= ] 'old_password'
Старый пароль. Аргумент old_password имеет тип sysname и значение по умолчанию NULL.[ @new= ] 'new_password'
Новый пароль. Аргумент new_password имеет тип sysname и не имеет значения по умолчанию. Аргумент old_password должен быть указан, если не используются именованные параметры.Примечание по безопасности
Не указывайте в качестве пароля значение NULL. Всегда выбирайте надежный пароль. Дополнительные сведения см. в разделе Надежные пароли.
[ @loginame= ] 'login'
Имя учетной записи, к которой применяется смена пароля. Аргумент login имеет тип sysname и значение по умолчанию NULL. Учетная запись должна существовать. Аргумент login может быть указан только членами предопределенных ролей сервера sysadmin и securityadmin.
Значения кодов возврата
0 (успешное завершение) или 1 (ошибка)
Замечания
Процедура sp_password вызывает ALTER LOGIN. Данная инструкция поддерживает дополнительные параметры. Сведения об изменении паролей см. в разделе ALTER LOGIN (Transact-SQL).
Хранимая процедура 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
Б. Смена пароля
Следующий пример показывает, как пользоваться ALTER LOGIN для смены пароля пользователя Victoria с B3r1000d#2-36 на V1cteAmanti55imE. Это предпочтительный способ. Пользователь Victoria может использовать эту команду безо всяких дополнительных разрешений. Другим пользователям для этого требуется разрешение ALTER ANY LOGIN.
ALTER LOGIN Victoria WITH
PASSWORD = 'V1cteAmanti55imE'
OLD_PASSWORD = 'B3r1000d#2-36';
GO