Ошибка SDAC или ... ?

denwir
Дата: 24.06.2009 15:29:12
Delphi 7 + MSSQL2005 + SDAC 4.35

Задача получить логины базы данных (НЕ сервера).

TMSConnection настроен на мою БД (sql-авторизация, вход под sa). На него настроен TMSQuery.
Текст запроса:
SELECT     [name]
FROM       sysusers
WHERE     (isntuser = 1) OR (issqluser = 1)
Делаю ему OPEN - получаю 4 записи.
Смотрю профайлер - беру этот же запрос и выполняю его или через QueryAnalizer или через SQL Studio - получаю 93 записи.

Делаю так (жестко задаю из какой БД брать данные):
SELECT     [name]
FROM       mydb..sysusers
WHERE     (isntuser = 1) OR (issqluser = 1)
Тоже самое.

Есть идеи в чем проблема?
RENaissance
Дата: 24.06.2009 15:34:08

А если через ADO попробовать?

Posted via ActualForum NNTP Server 1.4

Гавриленко Сергей Алексеевич
Дата: 24.06.2009 15:35:51
Логины хранятся в таблице syslogins, как ни странно. А в базе - пользователи, причем в каждой они свои.
Гавриленко Сергей Алексеевич
Дата: 24.06.2009 15:37:27
Я бы еще проверил, действительно ли "вход под sa".
LSV
Дата: 24.06.2009 16:20:13
А как эта разница показана в Профилере ? Какая база была выбрана в QueryAnalуzer ?
denwir
Дата: 24.06.2009 16:45:48
Нашел в чем заковырка...

В приложении, при подключении накатывается Application Role. Которой выставлены разрешения на SELECT, UPDATE, DELETE, INSERT, EXECUTE и TAKE OWNERSHIP. Соответсвенно после применения роли приложения, выше указанный запрос возвращает ограниченный набор данных.

Что надо выставить в роли приложения, чтобы он мог брать полный набор данных?
Или как можно обойти это?
Petro123
Дата: 24.06.2009 16:50:45
denwir
Или как можно обойти это?

убрать данную роль и назначить роли не App, а обычные
denwir
Дата: 24.06.2009 16:53:31
Petro123
denwir
Или как можно обойти это?

убрать данную роль и назначить роли не App, а обычные


если имется ввиду убрать вообщем, т.е. отказаться от использования Апп.роли - то не катит.
Гавриленко Сергей Алексеевич
Дата: 24.06.2009 17:04:04
denwir
Petro123
denwir
Или как можно обойти это?

убрать данную роль и назначить роли не App, а обычные


если имется ввиду убрать вообщем, т.е. отказаться от использования Апп.роли - то не катит.
Боюсь, тогда придется давать роли больше привелегий, чем вам может захотеться.
Petro123
Дата: 24.06.2009 17:15:27
denwir
Petro123
denwir
Или как можно обойти это?

убрать данную роль и назначить роли не App, а обычные


если имется ввиду убрать вообщем, т.е. отказаться от использования Апп.роли - то не катит.

почему не катит?
Я вообще, как пользователь, их не люблю