2009-12-18 30 views
10

Tenemos un gran sistema con varios cientos de usuarios simultáneos, por lo que el generador de perfiles sql brinda demasiada información sin los filtros apropiados. Me gustaría ver qué comandos SQL se ejecutan bajo mi cuenta y mi cuenta solamente. Con la cuenta me refiero al nombre de usuario que uso para iniciar sesión en el sistema. Estos nombres de usuario se almacenan en una tabla de base de datos normal y, por lo tanto, no pueden ingresarse a ningún filtro en el generador de perfiles sql, supongo. Pero cada usuario que inicie sesión podría tener alguna identificación única de todos modos, aunque todos usemos el mismo inicio de sesión/usuario de SQL.SQL Profiler (SQL Server 2000), ¿cómo filtrar solo mis actividades?

Entonces, la pregunta es principalmente ¿cómo obtener ese valor único y qué filtro usar? ¿O hay alguna manera de ver esto y solo esto en sql profiler?

Respuesta

2

Cada aplicación, que se conecta al servidor SQL, tiene una identificación de host única (el valor devuelto por la función HOST_ID()), y puede filtrarla. Por supuesto, primero debe conectarse a la base de datos desde su aplicación, para obtener su id. De host.

El ID de host también se puede encontrar en la columna hostprocess de la tabla del sistema sysprocesses. Y en Profiler se llama ClientProcessId.

18

Debería poder obtener el nombre de host de la máquina que se conecta al servidor SQL. En la pestaña Propiedades de traza /Evento Sección, marque la Muestra todas las columnas opción, en columna Filtros puede especificar NombreHost.

Si usted quiere saber el nombre de host de una máquina que está utilizando a continuación, en el símbolo del sistema de tipo hostname

+0

Gracias! Intenté este primero y funciona muy bien. – Micke

+0

Hola, esto no está funcionando en SQL Server 2012, ¿tienes alguna idea de por qué? , filté solo mi nombre de host ... pero parece que el nombre de host del servidor IIS es el que llamó en el servidor de perfiles sql. – Japongskie

Cuestiones relacionadas