02 troubleshooting essentials sql server profiler - sql pass peru

23
Troubleshooting en SQL Server 2012 con SQL Server Profiler Guillermo Taylor F. Consultor Senior TI & Especialista SQL Server [email protected] http:// mastergt68.wordpress.com

Upload: guillermo-taylor

Post on 19-Jun-2015

246 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 02 troubleshooting essentials   sql server profiler - sql pass peru

Troubleshooting en SQL Server 2012 con SQL Server Profiler

Guillermo Taylor F.Consultor Senior TI & Especialista SQL [email protected] http://mastergt68.wordpress.com

Page 2: 02 troubleshooting essentials   sql server profiler - sql pass peru

Hoy hablaremos de…

Repaso de la Metodología de TroubleshootingSQL Profiler

VentajasConceptosArquitecturaObjetosAlgunos “Cómo Usar”

Correlación entre SQL Profiler & System MonitorConclusionesDocumentación y referencia

Page 3: 02 troubleshooting essentials   sql server profiler - sql pass peru

Desempeño o rendimiento

Escribir consultas eficientesGenerar índices adecuadosCrear vistas donde deben de crearse vistasCrear funciones de usuario e invocarlas donde correspondeCrear procedimientos almacenados adecuados a nuestros requerimientosUsar los distintos niveles de aislamiento de manera adecuadaManejo de transacciones (commit/rollback)

Page 4: 02 troubleshooting essentials   sql server profiler - sql pass peru

Metodología de Troubleshooting

Monitorear

Troubleshoot

Afinar/ OptimizarProbar

Desplegar

Círculo virtuoso…

Page 5: 02 troubleshooting essentials   sql server profiler - sql pass peru

Clasificación de herramientas

Sistema Operativo

• Monitor de Sistema

SQL Server

• SQL Profiler / SQL Trace

• Monitor de actividad

• Dynamic Management Objects (DMO)

Nivel de Query

• Database Engine Tuning Advisor

• Planes de ejecución

Page 6: 02 troubleshooting essentials   sql server profiler - sql pass peru

SQL Profiler en SQL Server 2012

Se anuncia el desuso de SQL Server Profiler para captura y reproducción de seguimiento de Motor de base de datos. Estas características se admitirán en la próxima versión de SQL Server, pero se quitarán en una versión posterior. No se ha determinado la versión específica de SQL Server. El espacio de nombres Microsoft.SqlServer.Management.Trace que contiene los objetos Trace y Replay de Microsoft SQL Server también estarán en desuso. Tenga en cuenta que SQL Server Profiler para las cargas de trabajo de Analysis Services no se desusarán y seguirá habiendo compatibilidad.

Page 7: 02 troubleshooting essentials   sql server profiler - sql pass peru

Ventajas de SQL Server Profiler

Seguir los pasos de consultas con problemas para buscar la causa de los mismos.Buscar y diagnosticar consultas de ejecución lenta.Capturar la serie de instrucciones Transact-SQL que ha causado un problema.

El seguimiento guardado se puede utilizar después para replicar el problema en un servidor de prueba en el que se pueda diagnosticar el problema.

Supervisar el rendimiento de SQL Server para optimizar las cargas de trabajo.

Asistente para la optimización de motor de base de datos. Establecer correlaciones entre contadores de rendimiento para diagnosticar problemas.

Page 8: 02 troubleshooting essentials   sql server profiler - sql pass peru

Conceptos

Propósitos:Interfaz gráfica para administrar SQL Trace.Monitor de eventos importantes.Capturar datos de desempeño y de utilización de recursos de SQL Server.Replicar capturas de datos de ejecuciones.Identificar cuellos de botella de desempeño.Correlación de datos con Monitor de Sistema.Cargas para Database Tuning Advisor.

Ejemplos:Listar el top N de queries más lentos.Tener un registro de accesos fallidos.Identificar bloqueos en aplicaciones.

Page 9: 02 troubleshooting essentials   sql server profiler - sql pass peru

Arquitectura

Eventos de SQL Server

Generados por

clientes o procesos de SQL Server

SQL Trace

Filtro

Cola

Tabla

Archivo

SMO

SQL Server Profiler

Aplicación de

Usuario

Page 10: 02 troubleshooting essentials   sql server profiler - sql pass peru

Arquitectura

Términos de SQL Profiler:Definiciones de trazas.Eventos.Columnas.Filtros.

Creación y gestión de “SQL Traces”:SQL Profiler (GUI)Procedimientos almacenados de sistema (T-SQL)

Plantillas de trazas (En el producto)Standard (Default), SP_CountsTSQL, TSQL_Duration, TSQL_Grouped,TSQL_Replay, TSQL_SPsAfinamiento

Page 11: 02 troubleshooting essentials   sql server profiler - sql pass peru

Eventos en SQL Profiler

Un evento es una acción generada dentro de una instancia del Motor de base de datos de SQL Server.

TSQLStored ProceduresPerformanceErrors and WarningsSecurity auditing

Un poco más de 170.Conocimiento y captura de los adecuados o requeridos…

Page 12: 02 troubleshooting essentials   sql server profiler - sql pass peru

Columnas en SQL Profiler

Una columna de datos es un atributo de una clase de evento capturada en el seguimiento.Como la clase de evento determina el tipo de datos que se pueden recopilar, no se aplicarán todas las columnas de datos a todas las clases de evento.Especifica los detalles a grabar.Las columnas pueden ordenarse y agruparse.Los valores pueden filtrarse.Ejemplos:

StartTime / EndTimeTextDataDurationResource Usage (CPU, Reads, Writes)Information: User, Database, App. Names

Page 13: 02 troubleshooting essentials   sql server profiler - sql pass peru

Filtros

Al crear un seguimiento o una plantilla, puede definir criterios para filtrar los datos recopilados por el evento.Para que los seguimientos no sean demasiado grandes, puede filtrarlos de forma que solo se recopile un subconjunto de los datos del evento.

Por ejemplo, puede limitar los nombres de usuario de Microsoft Windows del seguimiento a usuarios específicos, con lo que reducirá los datos de salida.

Si no se establece un filtro, se devolverán todos los eventos de las clases de eventos seleccionadas en el resultado del seguimiento.

Page 14: 02 troubleshooting essentials   sql server profiler - sql pass peru

Opciones de salida

InteractivaIdeal para monitoreo “en vivo” de pequeños conjuntos de datos.

Archivos de traza (*.trc)Ideal para seguimiento detallado, replica de datos o alimentación para el DB Tuning Advisor.Puede crecer mucho y por eso habilita “file rollover” de acuerdo con el tamaño del archivo.Opción para “Server processes trace data”.

Tabla de trazaIdeal para seguimiento detallado, replica de datos o alimentación para el DB Tuning Advisor.Creará la tabla de manera automática.Puede especificarse un máximo número de registros.

Programación de trazas (stop time)

Page 15: 02 troubleshooting essentials   sql server profiler - sql pass peru

Revisión de SQL Profiler

demo

Page 16: 02 troubleshooting essentials   sql server profiler - sql pass peru

Monitor de Sistema & SQL Profiler

Propósito:Generar correlación entre el desempeño del servidor y el desempeño de la base de datos.

Para qué:Mejor aproximación de impacto de la base de datos en el servidor

Proceso:Definir e iniciar una bitácora de contadoresDefinir e iniciar una traza en SQL ProfilerImportar datos de desempeño en SQL Profiler

Propiedades requeridas en la traza:StartTimeEndTime

Page 17: 02 troubleshooting essentials   sql server profiler - sql pass peru

Correlación Monitor de Sistema & SQL Profiler

demo

Page 18: 02 troubleshooting essentials   sql server profiler - sql pass peru

Otras opciones…

Creación de nuevas plantillasScripting de definiciones de trazasExtracción de eventos de SQL Server

Transact-SQLShowPlanDeadlock

Alimentación del Database Engine Tuning Advisor

Page 19: 02 troubleshooting essentials   sql server profiler - sql pass peru

Automatización de captura de traza (SQL Server 2005)

semi-demo

Page 20: 02 troubleshooting essentials   sql server profiler - sql pass peru

Libro de referencia…

Page 21: 02 troubleshooting essentials   sql server profiler - sql pass peru

Conclusiones

Aunque SQL Profiler va a desaparecer en versiones a futuro, todavía lo podemos usar para entender que pasa en mi servidor.La correlación entre la traza de SQL Profiler y la traza de System Monitor, me permite analizar el impacto a nivel del servidor.Aunque se debe ser proactivo en lugar de ser reactivo, SQL Profiler es más reactivo que proactivo.

Excepto si se usa para Database Engine Tuning Advisor.Tener en cuenta las prácticas recomendadas tratadas en esta sesión.

Page 22: 02 troubleshooting essentials   sql server profiler - sql pass peru

Referencias

eBook gratuito “Mastering SQL Server Profiler“http://www.red-gate.com/community/books/mastering-sql-server-profiler

Books Online: SQL Server Profilerhttp://msdn.microsoft.com/es-es/library/ms181091.aspx

Contadores para Rendimiento de SQL Serverhttp://msdn.microsoft.com/es-es/library/bb972264.aspx#EIAA

SQLServerPedia - SQL Server Profiler Tutorial Videohttp://sqlserverpedia.com/wiki/Using_SQL_Server_Profiler

Simple-Talk: Correlating SQL Server Profiler with Performance Monitor

http://www.simple-talk.com/sql/database-administration/correlating-sql-server-profiler-with-performance-monitor/

Page 23: 02 troubleshooting essentials   sql server profiler - sql pass peru

Troubleshooting en SQL Server 2012 con SQL Server Profiler

Guillermo Taylor F.Consultor Senior TI & Especialista SQL [email protected] http://mastergt68.wordpress.com