m.r.m.40 Ответов: 2

Sql server, получить IP-адрес нескольких пользователей в сети, которые все они вошли в систему с sa ?


Привет,
В sql server, когда вы получаете ipconfig с помощью cmdshell, он возвращает ip-адрес машины, на которой работает компонент database engine.
но у меня есть один движок sql server и несколько пользователей по сети со своими собственными приложениями, все их приложения используют логин sa, поэтому, когда они запускают мой sp, чтобы получить свой ipconfig, он возвращает ip-адрес основной машины.
как я могу взять свои собственные ip-адреса.

Допустим, это даст мне запись в моей таблице журнала, например;

Дата | Время / логин имя пользователя / ip-адрес пользователя

и я не знаю, как этого добиться.

любая помощь или совет были бы полезны, и я благодарен за это,

спасибо,

Что я уже пробовал:

Я сейчас читаю cmdshell, но до сих пор не нашел на него ответа.

[no name]

SQL Server не знает и не заботится о том, что такое IP-адрес пользователей.

m.r.m.40

Я не знаю, о чем вы сказали, но можно взять ip-адрес пользователя.

[no name]

http://www.codeproject.com/Tips/333634/How-to-get-Client-IP-Address-in-SQL-Server

2 Ответов

Рейтинг:
1

Dave Kreskowiak

Итак, у вас есть несколько человек, использующих учетную запись SA в SQL Server при обычном использовании приложений? Вы хотите, чтобы ваши базы данных были уничтожены случайно или по злому умыслу?

Это огромный риск для безопасности. Никто не должен использовать учетную запись SA для чего-либо, кроме первоначальной настройки SQL server.


Рейтинг:
1

Member 9831003

Привет,

Это может быть долгий процесс, но вы можете получить ip-адрес с именем пользователя

первый запуск
выбрать * из sys.порядок dm_exec_connections с идентификатора session_id
сверху вы получите идентификатор сеанса, client_net_address

Теперь у вас есть проверка с помощью идентификатора сеанса в sp_who, чтобы определить, кто является пользователем.

Спасибо,