Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Table Owner / 14 сообщений из 14, страница 1 из 1
28.02.2001, 17:51
    #32002610
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
Привет всем.

Есть SQL7, на нем БД и например несколько табличек (test,test1,test2). Владелец этих таблиц - пользователь testuser. До недавнего времени, когда пользователь подсоединялся к БД он мог выполнять запросы не указывая владельца таблицы -
SELECT * FROM test

Однако вдруг, что-то случилось и теперь такие запросы показывают сообщения об ошибке (208 - Invalid object name 'test' ). Если выполнить тот же самый запрос указав имя владельца таблицы:
SELECT * FROM testuser.test
то все пройдет нормально.
Пользователь testuser - имеет права dbo. Никаких таблиц с таким же именем но другим владельцем в базе не существует.

С уважением, Александр.
...
Рейтинг: 0 / 0
28.02.2001, 18:03
    #32002612
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
А где запускается запрос, в QA или из приложения?
...
Рейтинг: 0 / 0
28.02.2001, 18:06
    #32002613
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
И там и там (так и обнаружили - приложение перестало работать). Проверяется в QA. Вообщем бред какой-то.

Александр.
...
Рейтинг: 0 / 0
28.02.2001, 18:08
    #32002614
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
ЗЫ. И в BDE когда SQL Explorer открываю - тоже все таблички стали -как "testuser.test" т.е. с указанием владельца.
...
Рейтинг: 0 / 0
28.02.2001, 18:12
    #32002615
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
А какая у сервера аутентификация? NT или собственная?
...
Рейтинг: 0 / 0
28.02.2001, 18:13
    #32002616
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
Собственная
...
Рейтинг: 0 / 0
28.02.2001, 18:22
    #32002617
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
Для базы, случайно, не установили dbo use only?
...
Рейтинг: 0 / 0
28.02.2001, 18:26
    #32002618
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
Нет. Самое интересное что это со всеми базами произошло. Около 70 баз и в каждой есть таблицы owner у которых testuser и теперь когда под testuser подсоединяешься к базе - то обязательно нужно указывать имя владельца при обращении к объектам. Похоже что-то с логином testuser случилось

Александр.
...
Рейтинг: 0 / 0
28.02.2001, 18:30
    #32002619
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
С логином врятли что то случилось, а вот владелец базы мог поменяться. Посмотрите, кто сейчас является владельцем и если не тот, кто нужен, используйте sp_changeobjectowner для установки правильного владельца.
Вот вырезка из рассылки:

Лучше, если владельцем всех объектов будет dbo. Это избавит Вас и ваших
пользователей от ссылки на владельца объекта (dbo можно опускать).
Кроме того, если объект создаe:т sysadmin, то владелец получается dbo.
Иначе Вам для смены владельца придe:тся использовать процедуру
sp_changeobjectowner. И, кроме того, вы должны для этого быть одним из
db_owner, db_ddladmin или членом серверной роли securityadmin.
Вообще, сама процедура смены владельца объекта БД может оказаться
кропотливым занятием, если для этого Вы будете вынуждены внести
исправления во все пакетные файлы, скрипты, запросы и другие сценарии,
где упомянуто это имя владельца. Dbo - же останется собой всегда.
...
Рейтинг: 0 / 0
28.02.2001, 18:41
    #32002620
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
Саша, к сожалению, сделать сделать владельцем всех объектов dbo не получится - огромное количество завязок.

Самое интересное что владельцем является testuser и все равно не работает.

Александр
...
Рейтинг: 0 / 0
28.02.2001, 18:51
    #32002621
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
Странно, я был уверен, что если testuser включён в db_owner, то ссылку на владельца объекта указывать не надо... Поскольку аутентификация собственная, всякие траблы с учётной записью NT, по идее, тоже исключаются. Значит пробема, как мне видится, в самом пользователе testuser. С ним точно ничего не делали?
...
Рейтинг: 0 / 0
28.02.2001, 19:09
    #32002622
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
Саша! У тебя помоему это:
http://support.microsoft.com/support/kb/articles/Q255/0/67.ASP
По крайне мере очень похоже и могло пройти незаметно...
...
Рейтинг: 0 / 0
28.02.2001, 19:10
    #32002623
judge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
На сколько известно - нет. интересно а можно его грохнуть и заново создать? Или не получится так как он является владельцем?
Александр.
...
Рейтинг: 0 / 0
28.02.2001, 19:28
    #32002624
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Table Owner
Не уверен, что так просто. Возможно потребуется переприкрепить файлы. В рассылке об этом было "Восстановление связи между пользователем БД и его login" , возможно это наведёт на мысль...
Если я правильно понял, база тестовая. Может проще написать скриптик, что бы для всех объектов овнером стал DBO?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Table Owner / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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