У меня есть триггер для вставки/обновления/удаления. Это прекрасно работает. Кроме того, мне нужен IP-адрес клиента, с которого сделаны изменения. То, что мне нужно в T-SQL, то есть не в любой веб-форме, а в SQL/T-SQL, пока мой триггер будет запущен.
Также я go-ogled, и получил, что есть хранимая процедура в основной базе данных с именем xp_cmdshell
которая при выполнении с ipconfig
может получить IP-адрес. Я думаю, что это будет работать только тогда, когда у вас есть административный доступ к базе данных. Мой хостинг - это общий хостинг, поэтому у меня нет такой привилегии. Есть ли другой выход?
Пожалуйста помоги
заранее спасибо
Обратите внимание: у меня нет административных прав в моей базе данных SQL Server 2008. Мне нужно решение как аутентифицированный пользователь.
Еще одно обновление:
У меня есть решение, запрос, который будет работать для моего сценария, - это
SELECT hostname, net_library, net_address
FROM sys.sysprocesses
WHERE spid = @@SPID
Он выполняется по мере необходимости, но есть только одна проблема, что net_address не в IP-формате. ниже мой результат:
hostname net_library net_address
IPC03 TCP/IP AE8F925461DE
Я очень хочу знать:
-
Что такое net_address здесь? Является ли MAC-адрес или какой-то IP-адрес и т.д.?
-
Есть ли способ конвертировать net_address в ip?
Смиренный запрос:
Перед тем, как ответить/комментировать/опробовать, я прошу вас сначала решить этот вопрос. Я обнаружил, что некоторые ребята комментировали/сокращали без должного рассмотрения вопроса. Нет проблем, все делают ошибки. Но не каждый раз ошибаться. :)