|
![]() |
#1 |
MCITP
|
![]() Цитата:
Сообщение от sukhanchik
![]() 2ZVV: Там есть один мааленький нюанс, не отмеченный в статье. Hostname будет всегда сервером с АОС, а loginname - учетной записью пользователя, от имени которой запущен АОС.
Исключение будут составлять подключения вне DAX - типа запуски SQL Management Studio и т.д. ![]() Цитата:
Что имеем? SPID (номер процесса) и HOSTNAME (имя сервера AOS с которого пришла сессия). В моем случае - '52' и 'AEREMENK01'.
Теперь запускаем еще одну сессию Microsoft Dynamics AX и выбираем Администрирование | Активные пользователи в Главном меню: Получаем, код и имя пользователя. Дальше, звоним пользователю и спрашиваем зачем он это запускал ![]()
__________________
Zhirenkov Vitaly |
|
![]() |
#2 |
Administrator
|
Дочитал. Согласен - пропустил фразу про имя сервера AOS. Но юзер-то все равно по SPID-у определяется.... который м.б. не определен
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#3 |
MCITP
|
![]()
В 2009 пробую, что-то не нахожу такого, куда смотреть? :-\
__________________
Zhirenkov Vitaly |
|
![]() |
#4 |
Участник
|
А можно, поподробней?
Хотя мне кажеться это чуток не то: меня интересует имя аксаптовского пользователя. А при мониторинге я его не смогу увидеть ![]()
__________________
Жить все веселей!.. AX3SP3CU1 ![]() |
|
![]() |
#5 |
Administrator
|
Это внутриаксаптовый сеанс и он никак не связан с SQL Server-ным. Откройте форму Активные пользователи и посмотрите на поле сеанс и поле SPID. Вот второе поле - как раз и относится к БД.
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#6 |
Участник
|
Хорошо, а сеанс и имя пользователя случайно в БД не фиксируется как то (во время сессии)? Или это на АОСах?
__________________
Жить все веселей!.. AX3SP3CU1 ![]() |
|
![]() |
#7 |
Участник
|
Сервер БД в принципе ничего не знает об Аксапте и ее активных пользователях, поэтому без особых ухищрений я не вижу возможности решить вашу задачу. Т.е. ничего невозможного конечно нет, но боюсь все эти теложвижения достаточно сильно нагрузят сервер.
|
|
![]() |
#8 |
Участник
|
Давайте пойдем другим путем. Перечислите пожалуйста несколько системных таблиц, на которых вы не можете добавить поля.
|
|
![]() |
#9 |
Участник
|
Например UserInfo, UserGroupInfo и другие...
__________________
Жить все веселей!.. AX3SP3CU1 ![]() |
|
![]() |
#10 |
Участник
|
Может проще это решить административным путем, ограничить права доступа?
|
|
![]() |
#11 |
Участник
|
оно то проще: но есть несколько человек, которые работают с данным таблицами. И доступ им нужен
![]()
__________________
Жить все веселей!.. AX3SP3CU1 ![]() |
|
![]() |
#12 |
Участник
|
Может это поможет
http://blogs.msdn.com/aeremenk/archi...4/5272528.aspx |
|
![]() |
#13 |
Участник
|
Zick-Zibn: "Может это поможет
http://blogs.msdn.com/aeremenk/archi...4/5272528.aspx Мы пользуемся примерно таким же методом, только в SQL 2000 когда возникают блокировки.
__________________
Александр Последний раз редактировалось tolstjak; 19.11.2009 в 12:14. |
|
![]() |
#14 |
Участник
|
Цитата:
Сообщение от Zick-Zibn
![]() Может это поможет
http://blogs.msdn.com/aeremenk/archi...4/5272528.aspx |
|
![]() |
#15 |
Участник
|
![]() Цитата:
![]()
__________________
Жить все веселей!.. AX3SP3CU1 ![]() |
|
![]() |
#16 |
Участник
|
Идея для Ax 3.0 где связь аксаптовских пользователей с их SPID не храниться в базе - нужно ее как то в базе принудительно и периодически сохранять.
Для этого можно создать пакетное задание, достаточно частое, 1 раз в секунду. А чтобы пакетное задание не застряло из-за других пакетных заданий то крутить его на отдельно пакетном сервере, не пожалев на него одну лишнюю лицензию. Если AOS'ов много то на каждом сделать свой такой пакетный сервер. Получить перечень пользователей и все их SPIDы (аналог того что отображается в форме Активные пользователи), нужный код можно подсмотреть в реализации формы "Активные пользователи".
__________________
Ax 3.0 SP5 FP2 kr2 |
|
![]() |
#17 |
Участник
|
У нас несколько АОСов, для получения списка пользователей и их SPID мы используем COM коннектор, но пока есть проблема, не понятно как нормальным образом завершать COM соединение. Так как если не закрывать то COM не даст соеденится с другим AOC из текущего процесса. Сейчас мы просто перед каждым соединением убиваем процесс COM соединения. C задержкой в 10 - 20 секунд можем видеть список всех пользователей и их SPID
|
|
Теги |
login, spid, логин |
|
|