powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Почему sp_password может запускать только sysadmin?
7 сообщений из 7, страница 1 из 1
Почему sp_password может запускать только sysadmin?
    #32063578
mishgan2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде бы securityadmin должен этим заниматься.
Есть ли у кого мысли, почему M$ сделала именно так? Может быть тут какие-то организационные вопросы затрагивается?
ЗЫ: то что любой пользователь может менять пароли сам себе я в курсе.
...
Рейтинг: 0 / 0
Почему sp_password может запускать только sysadmin?
    #32063583
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все он может.
Пользователь, входящий в группу Security Administrator
может выполнять указанную хранимую процедуру
...
Рейтинг: 0 / 0
Почему sp_password может запускать только sysadmin?
    #32063599
mishgan2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно, у меня не выполняет...
В тексте ХР есть такое:
--
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
create procedure sp_password
    @old sysname = NULL,         -- the old (current) password
 
    @new sysname,                -- the new password
 
    @loginame sysname = NULL     -- user to change password on
 
as
     -- SETUP RUNTIME OPTIONS / DECLARE VARIABLES --
 
	set nocount on
    declare @self int
    select @self = CASE WHEN @loginame is null THEN  1  ELSE  0  END

     -- CHECK PERMISSIONS --
 
	IF (not is_srvrolemember('sysadmin') =  1 )
        AND not @self =  1 
	begin
	   raiserror( 15210 ,- 1 ,- 1 )
	   return ( 1 )
	end

---
select @@VERSION возвращает:
Microsoft SQL Server 7.00 - 7.00.961 (Intel X86)
Oct 24 2000 18:39:12
Copyright (c) 1988-1998 Microsoft Corporation
Desktop Edition on Windows NT 4.0 (Build 1381: Service Pack 6)
...
Рейтинг: 0 / 0
Почему sp_password может запускать только sysadmin?
    #32063627
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот что есть на Microsoft SQL Server 2000 - 8.00.679 (Intel X86):


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
create procedure sp_password
    @old sysname = NULL,         -- the old (current) password
 
    @new sysname,                -- the new password
 
    @loginame sysname = NULL     -- user to change password on
 
as
     -- SETUP RUNTIME OPTIONS / DECLARE VARIABLES --
 
	set nocount on
    declare @self int
    select @self = CASE WHEN @loginame is null THEN  1  ELSE  2  END

     -- RESOLVE LOGIN NAME
 
    if @loginame is null
        select @loginame = suser_sname()

     -- CHECK PERMISSIONS (SecurityAdmin per Richard Waymire) --
 
	IF (not is_srvrolemember('securityadmin') =  1 )
        AND not @self =  1 
	begin
	   dbcc auditevent ( 107 , @self,  0 , @loginame, NULL, NULL, NULL)
	   raiserror( 15210 ,- 1 ,- 1 )
	   return ( 1 )
	end
	ELSE
	begin
	   dbcc auditevent ( 107 , @self,  1 , @loginame, NULL, NULL, NULL)
	end
...


	 -- IF non-SYSADMIN ATTEMPTING CHANGE TO SYSADMIN, REQUIRE PASSWORD (218078) --
 
	if (@self <>  1  AND is_srvrolemember('sysadmin') =  0  AND exists
			(SELECT * FROM master.dbo.syslogins WHERE loginname = @loginame and isntname =  0 
				AND sysadmin =  1 ) )
		SELECT @self =  1 

...
...
Рейтинг: 0 / 0
Почему sp_password может запускать только sysadmin?
    #32063633
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что сервер возвращает при попытке выполнить данную процедуру
...
Рейтинг: 0 / 0
Почему sp_password может запускать только sysadmin?
    #32063677
mishgan2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>>А что сервер возвращает при попытке выполнить >>данную процедуру
Server: Msg 15210, Level 16, State 1, Procedure sp_password, Line 15
Only members of the sysadmin role can use the loginame option. The password was not changed.
...
Рейтинг: 0 / 0
Почему sp_password может запускать только sysadmin?
    #32063681
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаю, о чем тут дискуссия. У mishgan2000'а код процедуры говорит сам за себя. Осталось только проверить, что на семерке код sp_password действительно такой.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Почему sp_password может запускать только sysadmin?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]