2009-11-04 10 views
7

necesito ver claramente qué dirección IP hizo qué SQL consulta al servidor SQL. Estoy tratando de usar el Analizador de SQL, pero parece que no hay manera de que pueda de alguna manera diferenciar la máquina (navegador) de donde proviene la consulta. Solo tiene los detalles de comunicación entre el servidor web y el servidor sql. ¿Hay CUALQUIER forma para mí (cualquier registro desconocido?) Que me permita ver la identificación de la máquina original de donde vino la consulta?¿Cómo puedo ver qué dirección IP hizo la solicitud a SQL Server?

Gracias por cualquier sugerencia.

HF

+0

ok .. sí .. gracias por la confirmación (a menos que envíe el ip explícitamente a db, no hay forma de decirlo). gracias. – HotFrost

Respuesta

0

Si usted no escribe código de la aplicación para pasar la dirección del cliente desde el servidor web a la base de datos que tendrá que buscar en los registros de la tela - que le dará la dirección IP del cliente.

3

Por lo que se refiere a SQL Server, la solicitud siempre vendrá de su servidor web. Debe capturar y registrar la dirección IP en su aplicación web.

4

Usted puede obtener el nombre de host de la conexión actual, o en realidad cualquier información de la tabla sysprocesses

SELECT hostname FROM sys.sysprocesses WHERE spid = @@SPID 

Esto, obviamente, no va a funcionar para obtener la dirección IP de los servidores web si eso es lo que estás buscando para.

3

Como @joshperry dijo, se puede recuperar la dirección del cliente y la dirección del servidor con

SELECT client_net_address, local_net_address 
FROM sys.dm_exec_connections 
WHERE session_id = @@SPID 
1
SELECT r.client_net_address,sqltext.Text 
    FROM sys.dm_exec_requests req left join sys.dm_exec_connections as r on req.session_id=r.session_id 
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext 
+0

Su respuesta ciertamente vale una pequeña explicación. Por favor, consulte http://stackoverflow.com/help/how-to-answer. –

+1

Si bien este fragmento de código es bienvenido, y puede proporcionar algo de ayuda, sería [mejorado en gran medida si incluyera una explicación] (// meta.stackexchange.com/q/114762) de * cómo * y * por qué * esto resuelve el problema. Recuerde que usted está respondiendo la pregunta a los lectores en el futuro, ¡no solo a la persona que pregunta ahora! Por favor [edite] su respuesta para agregar una explicación y dar una indicación de qué limitaciones y suposiciones se aplican. –

Cuestiones relacionadas