Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 msg 15284  [new]
АнонимкиН
Guest
Microsoft SQL Server 2000 - 8.00.2050 (Intel X86) Mar 7 2008 21:29:56 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)

Собственно надо удалить пользователя, непонятно каким образом дошедшего до такого состояния

exec sp_dropuser 'Savchenko_PA'
Results:
Grantee Object
public	NULL
public	NULL
public	NULL

Msg 15284, Level 16, State 1, Procedure sp_MScheck_uid_owns_anything, Line 34
The user has granted or revoked privileges to the following in the database and cannot be dropped.

exec sp_helprotect @grantorname='Savchenko_PA'

Msg 515, Level 16, State 2, Procedure sp_helprotect, Line 105
Cannot insert the value NULL into column '', table ''; column does not allow nulls. INSERT fails.
The statement has been terminated.
Msg 15330, Level 11, State 1, Procedure sp_helprotect, Line 346
There are no matching rows on which to report.

select * from master..sysxlogins where name like '%Savchenko_PA'
Пусто, логина на сервере уже нет, но в базе-то он есть

select uid,name from sysusers where name like 'Savchenko_PA'
uid name
10	Savchenko_PA

select convert(nvarchar(4),so.name),sp.*
from dbo.syspermissions sp
left join dbo.sysobjects so on so.id = sp.id
where sp.grantor = 10
     id          grantee grantor actadd actmod seladd selmod updadd updmod refadd refmod

NULL 268761702   0       10      32     0      NULL   NULL   NULL   NULL   NULL   NULL
NULL 1440241873  0       10      32     0      NULL   NULL   NULL   NULL   NULL   NULL
NULL 1664242671  0       10      32     0      NULL   NULL   NULL   NULL   NULL   NULL

Зашибись... Может просто строчки syspermissions удалить???
23 июл 09, 13:35    [7450816]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
Glory
Member

Откуда:
Сообщений: 104751
АнонимкиН



select * from master..sysxlogins where name like '%Savchenko_PA'
Пусто, логина на сервере уже нет, но в базе-то он есть

select uid,name from sysusers where name like 'Savchenko_PA'
uid name
10	Savchenko_PA

Ну так читаем в хелпе про Troubleshooting Orphaned Users
23 июл 09, 13:38    [7450837]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
SELECT * FROM fn_my_permissions('Savchenko_PA', 'USER');


???
23 июл 09, 13:52    [7450966]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
АнонимкиН
Guest
to pkarklin: SQL Server 2000 вообще-то

to Glory:
sp_addlogin - ограничение по sid - varbinary(16), sid пользователя savchenko_pa - больше, он был пользователем домена

ну и кстати, sp_change_users_login работает только sql-логинов
        -- VALIDATE PARAMS --
        -- Can ONLY remap SQL Users to SQL Logins!  Should be no need
        --  for re-mapping NT logins, and if you try, you'll mess up
        --  the user status bits! 
23 июл 09, 14:14    [7451160]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
АнонимкиН
to pkarklin: SQL Server 2000 вообще-то


Приношу свои извинения. Был невнимателен.
23 июл 09, 14:18    [7451188]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
Glory
Member

Откуда:
Сообщений: 104751
Ну так добавьте доменного пользователя savchenko_pa в логины
23 июл 09, 14:19    [7451205]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
АнонимкиН
Guest
to Glory:
И что? Собственно, добавив, а потом удалив логин 'savchenko_pa', мы опять придем к тому, что в базе останется висеть учетная запись и три объекта, привязанные к ней.

И все-таки, как сделать так, чтобы было все нормально?) И эта ошибка (что в теме топика) больше не появлялась?
23 июл 09, 14:31    [7451289]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
Glory
Member

Откуда:
Сообщений: 104751
АнонимкиН
to Glory:
И что? Собственно, добавив, а потом удалив логин 'savchenko_pa', мы опять придем к тому, что в базе останется висеть учетная запись и три объекта, привязанные к ней.

Да что вы говорите ! А вы пробовали удалять логины, которые отмаплены в пользователей баз ?
23 июл 09, 14:33    [7451304]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
АнонимкиН
Guest
to Glory: не конструктивно!

Хочу сказать, что сервер был принят таким какой он есть. И если кто-то там тупо удалил "волшебный" логин из EM, то пусть ему будет хорошо, хоть я его и не знаю... Это не суть.

Суть в том, что есть несостыковка в таблице syspermissions, которую надо поправить. Принимается конструктив...
23 июл 09, 14:48    [7451415]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
Glory
Member

Откуда:
Сообщений: 104751
АнонимкиН
to Glory: не конструктивно!

Хочу сказать, что сервер был принят таким какой он есть. И если кто-то там тупо удалил "волшебный" логин из EM, то пусть ему будет хорошо, хоть я его и не знаю... Это не суть.

Суть в том, что есть несостыковка в таблице syspermissions, которую надо поправить. Принимается конструктив...

Пока у вас есть Orphaned Users, ничего у вас не получится
Так что либо вы добавляете логин и привязываете его к пользователю, либо сидите дальше и курите бамбук. И продолжаете фантазировать про возможности удаления логинов без пользователей.
23 июл 09, 14:51    [7451440]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
АнонимкиН
Guest
to Glory: Какой же Вы непонятливый!!!

Проблема не в orphaned user! Логин чудесно добавляется и привязывается к учетке базы на ура.
Но надо удалить... полностью...
23 июл 09, 14:57    [7451482]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
Glory
Member

Откуда:
Сообщений: 104751
АнонимкиН
to Glory: Какой же Вы непонятливый!!!

Проблема не в orphaned user! Логин чудесно добавляется и привязывается к учетке базы на ура.
Но надо удалить... полностью...

Ну так удаляйте, если пользователь уже не orphaned. В чем проблема то ?
23 июл 09, 14:58    [7451495]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
АнонимкиН
Guest
to Glory: опять двадцать-пять...

exec sp_dropuser 'Savchenko_PA'
Results:
Grantee Object
public	NULL
public	NULL
public	NULL

Msg 15284, Level 16, State 1, Procedure sp_MScheck_uid_owns_anything, Line 34
The user has granted or revoked privileges to the following in the database and cannot be dropped.
23 июл 09, 15:00    [7451517]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
Glory
Member

Откуда:
Сообщений: 104751
сорок пять млин

exec sp_helpuser 'Savchenko_PA'
23 июл 09, 15:03    [7451543]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
АнонимкиН
Guest
exec sp_helpuser 'Savchenko_PA'
Savchenko_PA	public	ANGR\Savchenko_PA	master	10    	0x010500000000000515000000782E9D139EAB9D6175B97554F7480000
23 июл 09, 15:06    [7451563]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
Glory
Member

Откуда:
Сообщений: 104751
А теперь
exec sp_helplogins 'ANGR\Savchenko_PA'
23 июл 09, 15:08    [7451586]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
АнонимкиН
Guest
exec sp_helplogins 'ANGR\Savchenko_PA'
LoginName SID DefDBName DefLangName AUser ARemote
ANGR\Savchenko_PA	0x010500000000000515000000782E9D139EAB9D6175B97554F7480000	master	us_english	yes  	no     

LoginName DBName UserName UserOrAlias
ANGR\Savchenko_PA	andb	Savchenko_PA	User 
23 июл 09, 15:13    [7451629]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
Glory
Member

Откуда:
Сообщений: 104751
АнонимкиН
exec sp_helplogins 'ANGR\Savchenko_PA'
LoginName SID DefDBName DefLangName AUser ARemote
ANGR\Savchenko_PA	0x010500000000000515000000782E9D139EAB9D6175B97554F7480000	master	us_english	yes  	no     

LoginName DBName UserName UserOrAlias
ANGR\Savchenko_PA	andb	Savchenko_PA	User 

Почему вы тогда утверждаете, что

"select * from master..sysxlogins where name like '%Savchenko_PA'
Пусто, логина на сервере уже нет, но в базе-то он есть"
23 июл 09, 15:30    [7451812]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
АнонимкиН
Guest
to Glory:
Тогда не было, а сейчас под Вашим руководством логин был добавлен и привязан. Впрочем, проблема, описанная в первом сообщении, не решена. Зовем другого "эксперта"?
23 июл 09, 15:36    [7451868]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
Glory
Member

Откуда:
Сообщений: 104751
Да пожалуйста, зовите.
23 июл 09, 15:37    [7451878]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
select convert(nvarchar(4),so.name),sp.*
from dbo.syspermissions sp
left join dbo.sysobjects so on so.id = sp.id
where sp.grantor = 10
...
Зашибись...


Т.е. результат как бы говорит нам, что за пользователем числятся права на объекты, которых уже нет?

Причем grantor, как бы сам же этот пользователь и судя по actadd это были хп?
23 июл 09, 15:50    [7452000]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
моя думать что в БД, есть схема владельцем которой есть ваш логин,дропните схему сначала,и перенестиет обьекті изего схемі в другую
-------------------------------------
Jedem Das Seine
23 июл 09, 15:51    [7452009]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Если уж ничего не помогает и таких объектов действительно нет (я бы все-таки прогнал бы DBCC CHECKDB), то удалите эти строчки, разрешив модификацию системного каталога предварительно. А после удаления вновь запретите.
23 июл 09, 15:56    [7452070]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
АнонимкиН
Guest
to pkarklin:

Да, процедура sp_MScheck_uid_owns_anything, которая проверяет при удалении учетки из базы, имеются ли у пользователя какие-нибудь пермиссии на объекты этим куском находит три объекта.
   -- CHECK IF USER GRANTED ANY PERMISSIONS --
    if exists (select grantor from syspermissions where grantor = @uid)
    begin
		raiserror(15284,-1,-1)
		select 'Grantee'=user_name(grantee) ,'Object'=object_name(id)
					from syspermissions where grantor = @uid
        select @isowner = 1
	end

При этом
Grantee: public
Grantor: Savchenko_PA

Судя по actadd предполагаю, что это были ХПшки, которые создавал сам Savchenko_PA
23 июл 09, 16:01    [7452125]     Ответить | Цитировать Сообщить модератору
 Re: msg 15284  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Ох, сдается мне, что кто-то полазил по системному каталогу. Какие права были у этого пользователя?
23 июл 09, 16:09    [7452207]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить