Для sp_password sproc в SQL Server 2000 требуется только членство в ролях базы данных db_accessadmin db_securityadmin и членство в роли сервера securityadmin, чтобы пользователь мог изменять пароли без знания старого пароля. Однако в SQL Server 2005/2008 BOL говорит, что пользователю теперь нужно разрешение «СЕРВЕР УПРАВЛЕНИЯ» для этого.
Какие полномочия в точности дает разрешение CONTROL SERVER пользователю?
Обновление: я нашел это:
CONTROL SERVER - это новое разрешение начиная с SQL Server 2005, которое предоставляет тот же доступ, что и член фиксированной серверной роли sysadmin.
- http://www.sqlservercentral.com/blogs/brian_kelley/archive/2009/02/24/detecting-when-a-login-has-implicit-access-to-a-database.aspx
Обновление:
Оказывается, документация неверна. Как и SQL Server 2000, для SQL Server 2008 sp_password все еще требуется членство в ролях базы данных db_accessadmin & db_securityadmin и членство в роли сервера securityadmin, чтобы пользователь мог менять пароли без знания старого пароля.