Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Проблемы с удалением учетной записи / 13 сообщений из 13, страница 1 из 1
21.09.2006, 15:24
    #34003511
Татьяна В
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
Версия: Adaptive Server Enterprise/12.5.3

Задача: удалить учетную запись

Проблема: при удалении учетной записи появляется ошибка
Server Message: Number 17509, Severity 16
Server 'SQLSecurity', Procedure 'sp_droplogin', Line 146:
User exists or is an alias or is a database owner in at least one database. Drop the user or the alias, or change the database ownership before dropping the login.
(1 row affected)
(return status = 1)
при этом:
1. альясы на БД у данной учетной записи отсутствуют
2. почистила все таблицы sysobjects, systhresholds, sysalternates
3. пользователь не является владельцем ни одной из БД

Вопрос: что еще может держать этот логин?
...
Рейтинг: 0 / 0
21.09.2006, 15:53
    #34003696
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
Татьяна ВВерсия: Adaptive Server Enterprise/12.5.3

Задача: удалить учетную запись

Проблема: при удалении учетной записи появляется ошибка
Server Message: Number 17509, Severity 16
Server 'SQLSecurity', Procedure 'sp_droplogin', Line 146:
User exists or is an alias or is a database owner in at least one database. Drop the user or the alias, or change the database ownership before dropping the login.
(1 row affected)
(return status = 1)
при этом:
1. альясы на БД у данной учетной записи отсутствуют
2. почистила все таблицы sysobjects, systhresholds, sysalternates
3. пользователь не является владельцем ни одной из БД

Вопрос: что еще может держать этот логин?

для каждой базы на сервере:
select * from sysusers
go
select * from sysobjects where uid=user_id('ЛОГИН')
go

проверить, что пользователь не хозяин какой-либо БД:
sp_helpdb
...
Рейтинг: 0 / 0
22.09.2006, 07:09
    #34004810
Татьяна В
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
1. к данному логину нет пользователей
2. на данный логин нет альясов
3. логин не является владельцем ни одной из БД
4. логин не является владельцем ни одной пороговой процедуры
5. логин не является владельцем ни одного объекта ни на одной БД

однако функция, используемая в процедуре sp_droplogin valid_user(suser_id("user01")) выдает единицу... и соответственно появляется ошибка 17509....

Уважаемые специалисты, что бы это могло быть?...
...
Рейтинг: 0 / 0
22.09.2006, 07:15
    #34004815
Татьяна В
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
Вот, на всякий случай скрипты которыми пользоватлась...
select "update "+ name+"..sysobjects set loginame=NULL" from master..sysdatabases
select "update "+ name+"..systhresholds set suid=1" from master..sysdatabases
select "exec "+ name+"..sp_dropuser user01" from master..sysdatabases
select "exec "+ name+"..sp_dropalias user01" from master..sysdatabases
...
Рейтинг: 0 / 0
22.09.2006, 07:33
    #34004821
Татьяна В
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
удаленных логинов замапленных на этот логин тоже уже нету....
update master..sysremotelogins set suid=1
...
Рейтинг: 0 / 0
22.09.2006, 10:21
    #34005139
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
Татьяна Вудаленных логинов замапленных на этот логин тоже уже нету....
update master..sysremotelogins set suid=1
ну раз пошла такая пьянка и трём системные таблицы напрямую -

use master
go
sp_configure 'allow updates',1
go
delete syslogins
where name= 'ЮЗЕР'
go
sp_configure 'allow updates',0
go
...
Рейтинг: 0 / 0
22.09.2006, 12:14
    #34005701
Татьяна В
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
хочется же как можно более аккуратно... а вдруг там остались какие-нибудь связи....
...
Рейтинг: 0 / 0
22.09.2006, 12:34
    #34005778
Peter Kirillow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
Татьяна ВВот, на всякий случай скрипты которыми пользоватлась...
select "update "+ name+"..sysobjects set loginame=NULL" from master..sysdatabases
select "update "+ name+"..systhresholds set suid=1" from master..sysdatabases
select "exec "+ name+"..sp_dropuser user01" from master..sysdatabases
select "exec "+ name+"..sp_dropalias user01" from master..sysdatabases

не совссем понятно при чем тут loginname в таблице sysobjects, тогда как владелец объекта определяется по полю uid
не понятно зачем трогали systhresholds...
да и вообще :
sp_dropuser drops a user from the current database by deleting the user's row from sysusers.
боюсь, что не прокатили все эти процедуры.
посему советую посмотреть suid этого логина в sysusers всех зарегистрированных баз. да и вообще через SybaseCentral всегда легко узнать в каких базах засветился логин...

а кардинально решать этот вопрос путем удаления строчки из syslogins настоятельно не рекомендую.
...
Рейтинг: 0 / 0
26.09.2006, 14:48
    #34012865
Татьяна В
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
loginname в таблице sysobjects появляется начиная с какой-то там версии 12.5... - это, кстати, на мой взгляд зловредная вещь...
если повнимательнее посмотрите на скрипты то заметите, что они используются для генерации других скриптов по удалению алиасов и пользователей со всех БД...
короче - загадка так и осталась...
удалять из syslogins пока не стала....
...
Рейтинг: 0 / 0
26.09.2006, 15:10
    #34012959
Peter Kirillow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
и все же я бы переделал скрипты на вот такую версию

set nocount on
go
declare @user_to_delete varchar(25)
select @user_to_delete = "user01"
select
char(10) + "use " + name + char(10) + "go" +
char(10) + "sp_dropuser " +@user_to_delete + char(10) + "go" +
char(10) + "sp_dropalias " +@user_to_delete + char(10) + "go"
from master..sysdatabases
go
...
Рейтинг: 0 / 0
26.09.2006, 19:44
    #34013871
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
Надо еще не забывать чистить алиасы из sysalternates. Она в каждой базе.
...
Рейтинг: 0 / 0
27.09.2006, 07:41
    #34014318
Татьяна В
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
MasterZivНадо еще не забывать чистить алиасы из sysalternates. Она в каждой базе.

sysalternates - это алиасы... - их почистила первым делом...
...
Рейтинг: 0 / 0
27.09.2006, 12:09
    #34015235
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с удалением учетной записи
Ну почистите алиасы и юзеров во всех базах аккуратно, можно и руками, и все. БОльше никаких проблем быть не должно..
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Проблемы с удалением учетной записи / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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