Как работать со списком подключеных к базе пользователей?

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Anderyt »

а что позволяет делать эта привилегия? если я правильно понял - то она позволяет смотреть список всех процессов на сервере и .. и ВСЕ.
если так - что в ней страшного? собственно, мы же и хотим позволить всем юзерам смотреть, какие другие юзеры сейчас подключены. для этого есть специальная привилегия. значит надо ее использовать и все. если юзеров - небольшое количество, то можно даже вручную дать эти права..
но вроде есть еще какой то вариант, если не ошибаюсь, он описан вот здесь:
http://msdn.microsoft.com/en-us/library ... L.90).aspx
но тут про какие то подписи, сертификаты... ничего не понимаю...
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Старик Крупский »

Не думаю, что под каждый майкрософтовский чих нужно скорее делать новую версию, его подтирающую. Не самая горящая потребность. Есть возможность это сделать напрямую - делаем. И то хорошо. Не очень удобно, но и не очень трудоемко. Результат-то будет один. Скажем так: пробежаться по юзерам в Лоции и проставить там признак установки права view server state вряд ли будет менее трудоемким, чем сделать это напрямую в сиквеле. Для создания новых юзеров такой флажок облегчит жизнь, но не более того - сколько, на минуточку, мы нынче создаем новых юзеров, например, за неделю?
"Лучше меньше, да лучше" (C)
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Александр »

... на sql.ru что-то читал по этому поводу страшное - и решил не делать :wink:
ладно расскажите по шагам для mssql2005 русский - куда зайти что установить - а то я ничего не понял вообще :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Anderyt »

:-)
я не помню точно (сейчас не могу посмотреть...), вроде нужно зайти а свойства логина, там где то должны быть привилегии этого логина. именно для логина, то есть не для юзера БД, так как эта привилегия (и некоторые другие) действует в масштабах сервера..
должна называться View Server State (или Просмотр состояния сервера)
у вас юзеров вроде не сильно много, много времени не должно уйти ;-)
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Anderyt »

Александр, ну как, что-нить получилось?
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Александр »

да нет - ничего не получилось.... слов View Server State (или Просмотр состояния сервера) стоя на сервере ->безопасность/имена входа/свойства имени входа/защищаемые объекты - я обнаружить не смог и поэтому задвинул это дело - хотя логичнее было бы довести до конца :wink: :wink: :wink: инструкция пошаговая нужна в общем

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Александр »

вау! - нашел - добавил на логин защищаемый объект - сервер - в нем флаг View Server State...
но все равно никто никого не видит - и флаг разрешения в свойствах по умолчанию не показывается - а если попробовать его установить снова то - он уже стоит гад такой - в общем ничего не понимаю

короче на логин стоят действующие разрешения
CONNECT SQL - это было
VIEW ANY DATABASE - это было
VIEW SERVER STATE - это добавил

но в колонке предоставить отмечены только
CONNECT SQL
VIEW SERVER STATE
а VIEW ANY DATABASE не отмечен - но разрешен и действует

чувствую зря полез я в это дело..................................................................................................................

ps
проверял на запросе select * from lsdbo.empldb_v
вычисляемое поле на форме Party

Код: Выделить всё

f_ExecSQLSelect_3 (' select case isconnected when 0 then ~'сотрудник находится вне информационного поля~' when 1 then ~'сотрудник присутствует в системе и готов к работе~' else ~'сотрудник доступен только по репликации БД~' end from lsdbo.EmplDB_v where user_id='+string(f_GetUserID(  trim(left(usersric,len( usersric )-15) ) )) , '' , '' , '' , 0 )
все юзеры показывают только себя - остальных 'не видят' в принципе :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Anderyt »

хм..
добавил на логин защищаемый объект - сервер - в нем флаг View Server State...
что-то странное.. как-то замороченно вроде.. должно быть попроще.. скоро вернусь - посмотрю у себя..
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Anderyt »

нашел!
в общем, так как это настройка в масштабах сервера, то она делается в окне свойств сервера :-)
открываем Свойства, там должна быть "вкладка" слева Разрешения (Permissions), в ней - список логинов и ролей.
тыкаем логин - внизу в списке разрешений можно будет поставить нужную галочку
в английском это разрешение называется View Server State.
у нас по крайней мере именно в этом месте стоят галочки у юзеров, которые могут видеть статус других юзеров.
и при этом никаких защищаемых объектов в свойствах логина для этих юзеров нет.
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Александр »

в общем то тоже самое - вид сбоку
в свойствах сервера - разрешения - логин - уже стоят галочки проставленные напрямую от логина как выше.....
не работает нифига :( :( :( :(
под юзером в SQL Server Management Studio захожу - пишу запрос - select * from lsdbo.EmplDB_v и ..... тишина - он активен остальные нет, хотя галочка для него от sa стоит есть еще от него такая же галка на тот же статус от него лично... но это тоже не то - что-то - делаю не так а что - непонятно

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Anderyt »

хм..
у меня работает все..
и что, если убрать галочку у строки View server state (кстати, она же стоит в колонке Предоставить (Grant)?), то из свойств самого логина пропадет защищенный объект?
а можно картинки посмотреть?
желательно со списком логинов с выбранным логином и отмеченным правом, и картинку со свойством логина с защищенным объектом..
правда, у нас используются не такие конструкции, мы работаем с запросом:

Код: Выделить всё

bitmap('C:\Program Files\LotsiaSoft\PartY\Icons\Logos\'+ if (f_execSQLSelect_3 ('select loginname from party.lsdbo.empldb_v empl 
where empl.user_id = '+ a100000076000003+' and loginname in(select distinct loginame from master..sysprocesses)', 
'','','',30)<> '', 'state_online.gif', 'state_offline.gif' ))
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Александр »

галку можно убрать в любом месте - везде пропадет....
на счет
(кстати, она же стоит в колонке Предоставить (Grant)?)
не совсем понял - она у меня только там и стоит :wink: или где-то еще?
картинка свойства сервера и разрешения для логина, и со стороны логина и со стороны сервера - одна и та же в нижней части
картинка предоставленных логину разрешений идентична полностью
Вложения
2.gif
2.gif (12.13 КБ) 45333 просмотра
1.gif
1.gif (51.01 КБ) 45333 просмотра

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Александр »

вот оно - наверно где собака порылась :wink:
у тебя запрос

Код: Выделить всё

select loginname from lsdbo.empldb_v empl
where empl.user_id = 72 and loginname in(select distinct loginame from master..sysprocesses)
благодаря in(select distinct loginame from master..sysprocesses) действительно показывает то что нужно - щас проверю на боевом действии, но судя по всему это именно здесь
Последний раз редактировалось Александр 19 окт 2009, 15:03, всего редактировалось 2 раза.

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Anderyt »

э-э-э...
кажется невероятным, но если я в квери аналайзере, запущенном от имени юзера, у которого есть View Server State, запущу скрипт

Код: Выделить всё

select *
from LSDBO.EmplDB_v
или скрипт

Код: Выделить всё

select User_ID, Filial_ID,
      LoginName, author_id, cd, DateFrom,
      DateTo, PwdChange, PwdLock, PwdMode,
      (select Coalesce(Max(1), 0)
          from master.dbo.syslogins l, sysusers u, master..sysprocesses p
          where edb.LoginName = u.name and l.sid = u.sid and
            p.Loginame = l.name and p.dbid = db_id()) as IsConnected
    from lsdbo.EmplDB edb
то у всех юзеров, кроме dbo и текущего юзера, в isconnected будут 0.
при этом

Код: Выделить всё

select distinct loginame from master..sysprocesses
который используется нами в приведенном выше выражении для определения статуса юзера, показывает список всех подключенных логинов...
и при этом, ессно, этот юзер может смотреть адекватную информацию о подключенности других юзеров в интерфейсе Лоции...
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Как работать со списком подключеных к базе пользователей?

Сообщение Александр »

Андрей - спасибо! я пришел к таким же выводам :wink: :wink: :wink:

Код: Выделить всё

select count(*) from lsdbo.empldb_v empl where empl.user_id = 82 and loginname in(select distinct loginame from master..sysprocesses)

Код: Выделить всё

select isconnected from lsdbo.empldb_v where user_id=82
под юзером дают - совершенно разные результаты......

спрашивается - и оно нам надо!? - не до конца настроенная колонка isconnected вида lsdbo.empldb_v :!: :!: :!: :!:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Ответить