Krypton Solid

La última tecnología en raciones de 5 minutos

En el nivel del servidor con vistas de administración dinámica de SQL Server

Las vistas de administración dinámica son una característica de SQL Server que proporciona información detallada del sistema y la base de datos. La primera categoría de DMV, como mencioné en el primer artículo de esta serie de dos partes, «Obtenga información con vistas de administración dinámica de SQL Server», es específica para una o más bases de datos. Otro tipo de DMV funciona a nivel de servidor y devuelve información sobre una instancia de SQL Server y el sistema que la admite.

Por ejemplo, el DMV sys.dm_exec_cached_plans devuelve detalles sobre planes de consulta almacenados en caché o en ejecución. En el siguiente SELECCIONE declaración, recupero detalles sobre esos planes en mi sistema que son mayores de 400,000 bytes:

SELECCIONE
bucketid COMO BucketID,
usecounts COMO UseCounts,
size_in_bytes COMO Tamaño
DESDE
sys.dm_exec_cached_plans
DONDE
tamaño_en_bytes> 400000;

Observe que la declaración recupera el ID del depósito, usa el recuento y el tamaño de cada plan, como se muestra en los siguientes resultados:

BucketID UseCounts Tamaño
4577 12 1122304
5914 2 450560
9824 1 598016
2523 5 434176

Aquí solo tengo cuatro planes de más de 400,000 bytes actualmente almacenados en caché o ejecutándose en mi sistema. (Nuevamente, he tenido SQL Server ejecutándose por poco tiempo).

El siguiente DMV relacionado con el servidor que veremos es sys.dm_exec_connections, que devuelve información sobre las conexiones establecidas en mi instancia de SQL Server. En el siguiente SELECCIONE declaración, recupero el ID de sesión y el tiempo de conexión para cada conexión:

SELECCIONE
ID de sesión COMO ID de sesión,
connect_time COMO Hora de inicio,
DATEDIFF(minuto, tiempo_conexión, OBTENER LA FECHA()) COMO MinConnected
DESDE
sys.dm_exec_connections;

En esta declaración, también calculo la cantidad de minutos que han pasado desde que se estableció la conexión. Los siguientes resultados muestran la información devuelta por el DMV sys.dm_exec_connections:

ID de sesión Hora de inicio MinConnected
51 2011-01-23 08: 44: 52.890 136
52 2011-01-23 10: 45: 22.560 15
53 2011-01-23 10: 55: 21.577 5
56 2011-01-23 08: 50: 37.140 130

Ahora veamos el DMV sys.dm_exec_procedure_stats, que devuelve estadísticas de rendimiento sobre procedimientos almacenados en caché. En el siguiente ejemplo, devuelvo información de procedimiento almacenado en la base de datos ReportServer $ SQLSRV2008 (instalada si tiene SQL Server Reporting Services configurado en su sistema):

USAR ReportServer $ SQLSRV2008;
VAMOS
SELECCIONE
NOMBRE DEL OBJETO(object_id) COMO Nombre del objeto,
cuenta_de_ejecución COMO ExecCount,
total_physical_reads COMO PhysReads
DESDE
sys.dm_exec_procedure_stats
DONDE
database_id = DB_ID(‘ReportServer $ SQLSRV2008’)
Y cuenta_de_ejecución> 10
PEDIR POR
Nombre del objeto;

En este caso, recupero solo aquellas filas que tienen un recuento de ejecución mayor que 10. Como muestran los siguientes resultados, la declaración devuelve el nombre del procedimiento almacenado, el recuento de ejecución y las lecturas físicas totales:

Nombre del objeto ExecCount PhysReads
GetDBVersion 722 0
GetMyRunningJobs 48 0

En el siguiente ejemplo, utilizo sys.dm_os_threads para devolver información sobre los subprocesos del sistema operativo que se ejecutan en el proceso de SQL Server:

SELECCIONE
thread_address COMO ThreadAddress,
tiempo de creación COMO CreatedTime,
stack_bytes_committed BytesCommitted,
stack_bytes_used COMO Bytes usados
DESDE
sys.dm_os_threads
DONDE
stack_bytes_used> 10000;

La declaración devuelve la dirección del hilo, la hora de creación, el número de bytes comprometidos y el número de bytes utilizados. La declaración también limita los resultados a aquellas filas cuyos bytes usados ​​exceden los 10,000. Los siguientes resultados muestran que solo dos subprocesos superan el tamaño especificado:

ThreadAddress CreatedTime BytesCommitido Bytes usados
0x7FFDEE28 2011-01-23 08: 44: 22.000 516096 11280
0x7FFA2E28 2011-01-23 08: 44: 25.127 516096 24320

El último DMV relacionado con el servidor que veremos es sys.dm_os_sys_info. La vista devuelve una amplia gama de información sobre el equipo en el que se ejecuta SQL Server. Esta información puede ser útil para determinar qué recursos están disponibles para SQL Server, como se muestra en el siguiente ejemplo:

SELECCIONE
memoria_física_en_bytes COMO PhysMemory,
virtual_memory_in_bytes COMO VirtMemory,
stack_size_in_bytes COMO Tamaño de la pila,
cuenta_máx_trabajadores COMO TrabajadoresCuenta
DESDE
sys.dm_os_sys_info;

Los siguientes resultados muestran la información devuelta por esta declaración:

PhysMemory VirtMemory Tamaño de la pila TrabajadoresCuenta
536330240 2147352576 520192 256

Como puede ver, he usado el DMV sys.dm_os_sys_info para recuperar la cantidad de memoria física y virtual configurada en el sistema, así como el tamaño de la pila y el recuento máximo de trabajadores.

Trabajar con vistas de administración dinámica de SQL Server

Por supuesto, hay muchos más DMV de los que he mostrado en este artículo de dos partes. Puede utilizar esta función de SQL Server para recuperar información sobre la captura de datos modificados, las actividades relacionadas con E / S, Common Language Runtime, la creación de reflejo de la base de datos y muchas otras categorías. Asegúrese de consultar «Vistas y funciones de administración dinámica (Transact-SQL)» en los Libros en pantalla de SQL Server. El tema divide a los DMV en categorías específicas.

Para cada categoría, puede vincular a una lista de esos tipos de DMV, y para cada DMV en esa categoría, puede vincular al tema específico de ese DMV. Siempre que haga referencia a un DMV en sus declaraciones, primero revise su tema para comprender el tipo de información que devuelve la vista y para ver una descripción de las columnas de la vista. Pronto te darás cuenta de que lo que te he mostrado aquí es solo la punta del iceberg.

SOBRE EL AUTOR
Robert Sheldon es consultor técnico y autor de numerosos libros, artículos y material de capacitación relacionados con Microsoft Windows, varios sistemas de administración de bases de datos relacionales y diseño e implementación de inteligencia empresarial. Encuentre más información en http://rhsheldon.com/

.

Deja un comentario

También te puede interesar...

Carta de referencia de Redux Krypton Solid

Brian revisa una publicación de blog anterior Lo crea o no, he leído los comentarios que muchos de ustedes publican en mis blogs. Los leo todos. Cuando nos acercamos a la saga Satyam, los rumores

EM vs. código abierto: la seguridad es la misma

Ya sé que vas a odiar lo que tengo que decirte. Sin duda me enviarás correos electrónicos poderosos. Multa. Tenemos mucho trabajo duro aquí en CNET y podemos aceptarlo. Cuando leyeron acerca de los problemas

Consecuencias no deseadas de los coches autónomos

La cuestión de cuándo ganarán aceptación masiva los coches autónomos no es una cuestión de si, sino cuándo. Google (GOOG), DARPA, fabricantes de automóviles y universidades de todo el mundo están trabajando arduamente para que

Novedades de Netflix esta semana y Top 10:28 junio

Skin ahora en Netflix EE. UU. ¡Feliz domingo! Tenemos dos nuevos títulos internacionales que llegarán hoy a Netflix EE. UU. y haremos un resumen completo de todo lo nuevo en Netflix esta semana, además de

Cómo iniciar un blog con Blogger

¿Tienes una pasión incontrolable por escribir y te gustaría crear un blog, tener un espacio propio porque te gustaría compartir tus pasiones con la audiencia web? ¿Te gustaría crear un blog, pero aún no estás

Manifiesto de la nube abierta | Krypton Solid

El Abra el Manifiesto de la Nube, respaldado por las treinta y seis empresas que firmaron con su debut, describe las propuestas de valor centrales, destaca los desafíos, establece metas y luego enumera algunos principios

Cómo calcular la tasa de pago de dividendos

El informe de pago de dividendos de una empresa les da a los inversores una idea de cuánto dinero devuelve a sus accionistas en comparación con cuánto mantiene disponible para reinvertir en crecimiento, pagar deudas

Quid Pro Quo: definición y ejemplo

¿Qué es un Quid Pro Quo? Un favor para otro es un término latino para «algo por algo» que se originó en la Edad Media en Europa. Describe una situación en la que dos partes

Talkback: ¿Los abogados se arrastran los pies?

El juez Thomas Penfield Jackson parece estar cada vez más insatisfecho con el ritmo helado del DOJ vs. MS: marcando a los abogados de Microsoft por el largo interrogatorio de Apple a Avie Tevanian el

Reflexiones: Eric Hoh, Symantec | Krypton Solid

Eric Hoh, vicepresidente, Asia meridional, Symantec, dice que la confianza es el componente fundamental para hacer que el mundo conectado sea interesante para los consumidores y las empresas P. ¿Cuál crees que es el problema?