Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

66
Rendimiento de Rendimiento de Microsoft® SQL Server Microsoft® SQL Server TM TM 2000 2000 Microsoft Corporation Microsoft Corporation

Transcript of Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Page 1: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Rendimiento de Microsoft® Rendimiento de Microsoft® SQL Server SQL Server TMTM 2000 2000

Microsoft CorporationMicrosoft Corporation

Page 2: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Lo que vamos a cubrirLo que vamos a cubrir

BloqueosBloqueos Procesador de consultasProcesador de consultas Optimización de consultasOptimización de consultas Configuración del sistemaConfiguración del sistema Monitoreo de rendimientoMonitoreo de rendimiento

Page 3: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Prerrequisitos de la sesiónPrerrequisitos de la sesión

Esta sesión Esta sesión asumeasume que que usted usted comprende comprende los aspectos básicos de los aspectos básicos de WindowsWindows®® 2003 Server/Windows 2003 Server/Windows®® 2000 Server 2000 Server SQL Server 2000SQL Server 2000 Monitor del sistemaMonitor del sistema

Nivel 200Nivel 200

Page 4: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

AgendaAgenda

BloqueosBloqueos Procesador de consultasProcesador de consultas Optimización de consultasOptimización de consultas Configuración del sistemaConfiguración del sistema Monitoreo del rendimientoMonitoreo del rendimiento

Page 5: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Administrador de bloqueosAdministrador de bloqueosQué hace por ustedQué hace por usted Adquiere y libera bloqueosAdquiere y libera bloqueos Mantiene la compatibilidad entre los Mantiene la compatibilidad entre los

modos de bloqueosmodos de bloqueos Resuelve Resuelve interbloqueosinterbloqueos Escala bloqueos Escala bloqueos Utiliza 2 sistemas de bloqueosUtiliza 2 sistemas de bloqueos

Bloqueos de datos compartidosBloqueos de datos compartidos Pestillos internos para datos internos Pestillos internos para datos internos

y concurrencia de índicesy concurrencia de índices

Page 6: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

BloqueosBloqueosGranularidad de bloqueos para los datos Granularidad de bloqueos para los datos del usuariodel usuario

Tabla

Página Página Página

Fila Fila Fila

Page 7: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Niveles de aislamiento de Niveles de aislamiento de bloqueosbloqueos

Soporta los 4 niveles de aislamiento Soporta los 4 niveles de aislamiento ANSI e ISOANSI e ISO SeriableSeriable Lectura repetibleLectura repetible Lectura confirmada - predeterminadoLectura confirmada - predeterminado Lectura no confirmadaLectura no confirmada

Page 8: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

BloqueosBloqueosTipos de bloqueo Tipos de bloqueo enen los datos del usuario - los datos del usuario - CompartidosCompartidos

Se adquieren automáticamente cuando se leen Se adquieren automáticamente cuando se leen los datoslos datos

Aplica a la Tabla, Página, Clave o fila del Aplica a la Tabla, Página, Clave o fila del Índice.Índice.

Varios procesos pueden mantener un bloqueo Varios procesos pueden mantener un bloqueo compartido en los mismos datos.compartido en los mismos datos.

No se puede bloquear exclusivamente No se puede bloquear exclusivamente mientras está en modo de bloqueo mientras está en modo de bloqueo compartido*compartido*

*A menos que sea el mismo proceso que sostiene el bloqueo compartido

Page 9: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

BloqueosBloqueosTipos de bloqueo Tipos de bloqueo enen los datos del usuario - los datos del usuario - ExclusivosExclusivos Se adquieren automáticamente cuando se Se adquieren automáticamente cuando se

modificanmodifican los datos los datos Sólo un proceso puede mantenerse a la vez Sólo un proceso puede mantenerse a la vez

sobre cualquier dato.sobre cualquier dato. Se mantiene hasta el final de una TransacciónSe mantiene hasta el final de una Transacción Se rechazarán tSe rechazarán todas las demás solicitudes de odas las demás solicitudes de

bloqueo por otros procesos.bloqueo por otros procesos. Se pueden utilizar ayudas de Consulta para Se pueden utilizar ayudas de Consulta para

decidir si se leen los datos aseguradosdecidir si se leen los datos asegurados

Page 10: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

BloqueosBloqueosTipos de bloqueo Tipos de bloqueo enen los datos del usuario - los datos del usuario - ActualizaciónActualización Un híbrido de compartidos y exclusivosUn híbrido de compartidos y exclusivos Se adquieren cuando se requiere una Se adquieren cuando se requiere una

búsqueda antes de cualquier modificación a búsqueda antes de cualquier modificación a los datoslos datos

Permite que otros sigan leyendo mientras se Permite que otros sigan leyendo mientras se aplica el bloqueoaplica el bloqueo

Necesita un bloqueo exclusivo para modificar Necesita un bloqueo exclusivo para modificar los datoslos datos

Los datos pueden tener varios bloqueos Los datos pueden tener varios bloqueos compartidos pero sólo un bloqueo de compartidos pero sólo un bloqueo de actualizaciónactualización

Page 11: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

BloqueosBloqueosTipos de bloqueo Tipos de bloqueo enen los datos del usuario - los datos del usuario - IntentosIntentos

No es un modo de bloqueo real, sólo un No es un modo de bloqueo real, sólo un calificador, es decir,calificador, es decir,

Intento de bloqueo de actualizaciónIntento de bloqueo de actualización Es utilizado por SQL como un indicador Es utilizado por SQL como un indicador

de bloqueo de recursosde bloqueo de recursos Muestra si un subcomponente esta Muestra si un subcomponente esta

bloqueado (Por ejemplo si una fila se bloqueado (Por ejemplo si una fila se esta actualizando (exclusivo) muestra un esta actualizando (exclusivo) muestra un Intento de Exclusivo sobre la tabla)Intento de Exclusivo sobre la tabla)

Page 12: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

BloqueosBloqueosTipos de bloqueo Tipos de bloqueo enen los datos del usuario - los datos del usuario - EspecialEspecial

3 modos especiales3 modos especiales Estabilidad del esquemaEstabilidad del esquema – se utiliza cuando las – se utiliza cuando las

consultas se modifican, evita los bloqueos de consultas se modifican, evita los bloqueos de “Modificación al esquema”“Modificación al esquema”

Modificación del esquema – se utiliza cuando se Modificación del esquema – se utiliza cuando se modificanmodifican las estructuras de la tabla las estructuras de la tabla

Modificación Masiva– se utiliza Modificación Masiva– se utiliza concon el comando el comando BULK INSERT o BCP.BULK INSERT o BCP.

Page 13: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

BloqueosBloqueosVer información del bloqueo - TipoVer información del bloqueo - Tipo

AbreAbrevv RecursoRecurso Código Código internointerno

DescripciónDescripción // ejemploejemplo

DBDB Base de datosBase de datos 22

TABTAB TablaTabla 55 ID de la tablaID de la tabla 261775902 261775902

EXTEXT ExtensiónExtensión 88 Número de archivo / páginaNúmero de archivo / página 1:96 1:96

PAGPAG PáginaPágina 66 Número de archivo / páginaNúmero de archivo / página 1:104 1:104

KEYKEY ClaveClave 77 Valor controladoValor controlado ac0001a10a00 ac0001a10a00

ACAC Fila Fila 99 Número de archivo / página / Número de archivo / página / ranuraranura 1:151:4 1:151:4

APPAPP AplicaciónAplicación 1010 Control del nombre de la Control del nombre de la aplicaciónaplicación MYpr8dea MYpr8dea

Page 14: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

BloqueosBloqueosVer información del bloqueo - ModoVer información del bloqueo - ModoAbreviaciónAbreviación ModoModo Código internoCódigo interno

SS CompartidoCompartido 44

XX Exclusivo Exclusivo 66

UU Actualizar Actualizar 55

ISIS Intento compartidoIntento compartido 77

IUIU Intento actualizaciónIntento actualización 88

IXIX Intento ExclusivoIntento Exclusivo 99

SIXSIX Compartido con Intento exclusivoCompartido con Intento exclusivo 1111

Sch-SSch-S Estabilidad del esquemaEstabilidad del esquema 22

Sch-MSch-M Modificación al esquemaModificación al esquema 33

BUBU Actualización masivaActualización masiva 1313

Page 15: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Bloque de bloqueo

Bloque de recurso del bloqueo

Obtener EsperarConvertir

Arquitectura de bloqueosArquitectura de bloqueosTabla de control Tabla de control

del bloqueodel bloqueo

Todos los bloqueos propietarios de la misma transacción

se enlazan entre si

Bloque dueño del bloqueo

Bloque dueño del bloqueo

Bloque dueño del bloqueo

Bloque de bloqueo

Bloque de recurso del bloqueo

Obtener EsperarConvertir

Page 16: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

BloqueosBloqueosFila contra nivel de páginaFila contra nivel de página

RequerimientosRequerimientos del bloqueo del bloqueo Cada bloqueo – 32 bytesCada bloqueo – 32 bytes Cada proceso que mantiene un bloqueo – Cada proceso que mantiene un bloqueo –

32 bytes32 bytes Cada proceso que espera un bloqueo – 32 Cada proceso que espera un bloqueo – 32

bytesbytes Nivel de página – 8kNivel de página – 8k Nivel de fila – depende del tamaño de Nivel de fila – depende del tamaño de

la Filala Fila Cuál utilizar depende de la Cuál utilizar depende de la

aplicaciónaplicación

Page 17: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Demostración 1Demostración 1Ver los bloqueos de Ver los bloqueos de

SQL ServerSQL Server

Page 18: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

AgendaAgenda

BloqueosBloqueos Procesador de consultasProcesador de consultas Ajuste de consultasAjuste de consultas Configuración del sistemaConfiguración del sistema Monitoreo del rendimientoMonitoreo del rendimiento

Page 19: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Procesador de consultasProcesador de consultasProceso de compilaciónProceso de compilación de sentencias de sentencias

Analizar la sentencia

Crear un árbol de secuencias

Normalizar el árbol

¿ Sentencia de SQL DML?

Compilar en procedimientos

de sentencia de TSQL

Compilar en procedimientos las sentencias de TSQL

Crear una gráfica de consulta

Optimizar y crear el plan

SíNo

Page 20: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Procesador de ConsultasProcesador de ConsultasOptimización de una sentenciaOptimización de una sentencia

Optimizador de plan trivial

Simplificación

Carga de estadísticas

Optimizador basado en costo: Fases 1 a n-1

Optimización completa para ejecución en serie

Plan de salida

Optimización completa

para ejecución en paralelo

Encontrado plan barato?

1

1

Planencontrado?

Costo de plan mas barato > que umbral

de paralelismo?

No

No

No

Si

Si

Si

Page 21: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Procesador de consultas Procesador de consultas Cómo funciona el optimizadorCómo funciona el optimizador Análisis de consultasAnálisis de consultas Selección de índicesSelección de índices Selección de combinación (join)Selección de combinación (join)

Iteración anidada (Nested iteration)Iteración anidada (Nested iteration) Separación (Separación (HashingHashing)) Mezcla (Mezcla (Merging)Merging)

Page 22: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Procesador de consultasProcesador de consultasMemoria caché – costeo de un plan de Memoria caché – costeo de un plan de consultasconsultas

Ubicar memoria del caché del búfer

Establecer el costo inicialal costo de creación

¿Ad hoc ybarato decompilar?

¿Tipo deplan?

Colocar el plan en caché

Establecer el costo inicial en cero

Sin cachéSí

No

Ad-hoc

Page 23: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Procesador de consultasProcesador de consultasFlujo de Compilación Y EjecuciónFlujo de Compilación Y Ejecución

Plan enCache?

Interpretar/normalizar

Compilar TSQL

Optimizar sentencias

Poner plan en cache

Recuperar plan desde cache

Esperar que el planificadorde memoria autorice

Abrir (activar) plan

Ejecutar el plan hasta el final

El Plan necesita recompilación?

No

No

Si

Si

Page 24: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Demostración 2Analizador de consultas

Obtener estadísticas sobre una consultaObtener estadísticas sobre una consulta

Utilizar el plan gráficoUtilizar el plan gráfico

Utilizar el plan estimadoUtilizar el plan estimado

Page 25: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

AgendaAgenda

BloqueosBloqueos Procesador de consultasProcesador de consultas Ajuste de consultasAjuste de consultas Configuración del sistemaConfiguración del sistema Monitoreo del rendimientoMonitoreo del rendimiento

Page 26: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Ajuste de consultasAjuste de consultasAjuste – Cuándo empezarAjuste – Cuándo empezar Empiece al principioEmpiece al principio Considere el rendimiento antes de Considere el rendimiento antes de que que

escriba su primer línea de códigoescriba su primer línea de código Asegúrese de haber establecido una Asegúrese de haber establecido una

buena estructura de base de datosbuena estructura de base de datos Desarrolle lo que parezcan ser Desarrolle lo que parezcan ser índicesíndices

útilesútiles Asegúrese que todo el análisis se realice Asegúrese que todo el análisis se realice

con una carga de trabajo representativacon una carga de trabajo representativa

Page 27: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Ajuste de consultas Ajuste de consultas Diseño de la aplicación y la base de datosDiseño de la aplicación y la base de datos

Proporciona Proporciona la mayorla mayor ganancia e ganancia enn rendimientorendimiento

NormaliceNormalice Evalúe sus transacciones críticasEvalúe sus transacciones críticas Mantenga compactasMantenga compactas las extensiones de la las extensiones de la

fila de la tabla y las extensiones clave fila de la tabla y las extensiones clave Cree índices útilesCree índices útiles Evaluación comparativa, Prototipo y PruebaEvaluación comparativa, Prototipo y Prueba

Page 28: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

SQL ServerSQL Server

Perfilador Perfilador SQLSQLAsistente de Asistente de

ajuste de índicesajuste de índices

Rec

omen

daci

ones

Rec

omen

daci

ones

de a

just

e

de a

just

eC

onsultas en

Consultas en

tiempo real

tiempo real

Carga de trabajoCarga de trabajo(filtrada)(filtrada)

Ajuste de consultasAjuste de consultasCreación y ajuste de índicesCreación y ajuste de índices

Page 29: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Ajuste de consultas Ajuste de consultas Monitorear rendimiento de consultaMonitorear rendimiento de consultass STATISTICS – Input/Output STATISTICS – Input/Output

Lecturas lógicasLecturas lógicas Lecturas físicasLecturas físicas Lecturas avanzadas de lecturaLecturas avanzadas de lectura Cuenta de Cuenta de exploraciónexploración

STATISTICS - TimeSTATISTICS - Time SHOWPLANSHOWPLAN

Showplan_Text, Showplan_All, Showplan_Text, Showplan_All, Graphical ShowplanGraphical Showplan

Page 30: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Ajuste de consultas Ajuste de consultas SugerenciasSugerencias de consulta de consulta

Las Las sugerenciassugerencias de consulta se de consulta se deben utilizar para casos especiales deben utilizar para casos especiales – no como un procedimiento – no como un procedimiento operativo estándaroperativo estándar

Tipos de Tipos de consultaconsulta:: SugerenciasSugerencias de unión de unión SugerenciasSugerencias de índice de índicess SugerenciasSugerencias de bloqueo de bloqueoss SugerenciasSugerencias de procesamiento de procesamientoss

Page 31: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Ajuste de consultas Ajuste de consultas Bloqueos e Bloqueos e InterbloqueosInterbloqueos – Cómo resolverlos – Cómo resolverlos Mantenga las transacciones lo más Mantenga las transacciones lo más

cortas posiblescortas posibles Nunca agregue una pausa dentro de Nunca agregue una pausa dentro de

una transacción para entradas del una transacción para entradas del usuariousuario

Cuando procesa un conjunto de Cuando procesa un conjunto de resultados, procese todas las filas resultados, procese todas las filas tan pronto como sea posibletan pronto como sea posible

Para aplicaciones de scrolling de Para aplicaciones de scrolling de registros, considere utilizar cursores registros, considere utilizar cursores con control de concurrencia con control de concurrencia optimistaoptimista

Page 32: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Ajuste de consultas Ajuste de consultas interbloqueos interbloqueos – Cómo resolverlos– Cómo resolverlos

Para evitar Para evitar interbloqueos interbloqueos eenn los los ciclocicloss, haga que los procesos , haga que los procesos accedan a los recursos en un orden accedan a los recursos en un orden consistente. consistente.

Reduzca el nivel de aislamiento de Reduzca el nivel de aislamiento de la transacción si es posible para la la transacción si es posible para la aplicación. aplicación.

Para evitar Para evitar interbloqueos interbloqueos de de conversión, serialice explícitamente conversión, serialice explícitamente el acceso a un recurso. el acceso a un recurso.

Page 33: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Recopile información acerca del Recopile información acerca del comportamiento de la aplicacióncomportamiento de la aplicación Utilice el Perfilador SQLUtilice el Perfilador SQL

Analice la informaciónAnalice la información Analizador de consultasAnalizador de consultas Asistente de ajuste de índicesAsistente de ajuste de índices

Aplique cambiosAplique cambios Asistente de ajuste de índicesAsistente de ajuste de índices Administrador empresarialAdministrador empresarial

Ajuste de consultasAjuste de consultasAjuste de rendimientoAjuste de rendimiento Un enfoque paso por pasoUn enfoque paso por paso

Page 34: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Demostración 3Demostración 3Simulador de cargaSimulador de carga

Page 35: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Demostración 4Demostración 4Asistente de ajuste de índiceAsistente de ajuste de índicess

Analizar la carga de trabajoAnalizar la carga de trabajo

Ver reportesVer reportes

Aplicar índices sugeridosAplicar índices sugeridos

Page 36: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

AgendaAgenda

BloqueosBloqueos Procesador de consultasProcesador de consultas Ajuste de consultasAjuste de consultas Configuración del sistemaConfiguración del sistema Monitoreo del rendimientoMonitoreo del rendimiento

Page 37: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Configuración del sistema Configuración del sistema AsignaciónAsignación de recursos y ubicación de de recursos y ubicación de llosos archivo archivoss del sistema del sistema

Asegúrese de que el Asegúrese de que el rendimiento de los datos rendimiento de los datos maximizados para las maximizados para las aplicaciones de la red se aplicaciones de la red se seleccione para los seleccione para los servicios de archivo e servicios de archivo e impresiónimpresión

No ubique los archivos No ubique los archivos de SQL Server en la de SQL Server en la misma unidad que misma unidad que PAGEFILE.sysPAGEFILE.sys

Page 38: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Configuración del sistema Configuración del sistema Configurar los recursos de SQLConfigurar los recursos de SQL

Sp_configureSp_configure EXEC sp_configurEXEC sp_configur

ee RECONFIGURARRECONFIGURAR

Con sobrecargaCon sobrecarga

Administrador Administrador empresarialempresarial

Page 39: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Configuración del sistema Configuración del sistema Configurar los recursos de SQLConfigurar los recursos de SQL

Memoria mínima del Memoria mínima del servidor y memoria servidor y memoria máxima del servidormáxima del servidor

Configurar el tamaño Configurar el tamaño del conjunto del del conjunto del trabajotrabajo

Memoria de consulta Memoria de consulta mínimamínima

Page 40: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Configuración del sistema Configuración del sistema Configurar los recursos de SQLConfigurar los recursos de SQL

ProgramarProgramar Agrupamiento de peso ligeroAgrupamiento de peso ligero Máscara de afinidadMáscara de afinidad Inicio de prioridadInicio de prioridad Hilos máximos para el trabajadorHilos máximos para el trabajador

Opciones Opciones E/SE/S del disco del disco Intervalo de recuperaciónIntervalo de recuperación

Page 41: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Configuración del sistema Configuración del sistema Configurar los recursos de SQLConfigurar los recursos de SQL

Opciones de procesamiento de Opciones de procesamiento de consultasconsultas Memoria mínima por consulta Memoria mínima por consulta Memoria para crear índicesMemoria para crear índices Espera de consultaEspera de consulta Límite de costo de gobernador de Límite de costo de gobernador de

consultaconsulta Máximo grado de paralelismoMáximo grado de paralelismo

Page 42: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Configuración del sistema Configuración del sistema Configurar los recursos de SQLConfigurar los recursos de SQL Opciones de la base de datos Opciones de la base de datos

Sólo lecturaSólo lectura Usuario únicoUsuario único AutocierreAutocierre AutoreducciónAutoreducción CreaciónCreación automática de automática de estadísticas estadísticas Actualización Actualización automáticaautomática de de

estadísticas estadísticas

Page 43: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Configuración del sistema Configuración del sistema Configurar los recursos de SQLConfigurar los recursos de SQL

Administrador de búferAdministrador de búfer Opción “Pintable”Opción “Pintable” Monitoreo del rendimientoMonitoreo del rendimiento

SQLPERF(WAITSTATS)SQLPERF(WAITSTATS) SQLPERF(LRUSTATS)SQLPERF(LRUSTATS)

Page 44: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Demostración 5Demostración 5Configuración del sistema SQL Configuración del sistema SQL

Administrador empresarialAdministrador empresarialsp_configuresp_configure

Page 45: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

AgendaAgenda

BloqueosBloqueos Procesador de consultasProcesador de consultas Ajuste de consultasAjuste de consultas Configuración del sistemaConfiguración del sistema Monitoreo del rendimientoMonitoreo del rendimiento

Page 46: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Monitoreo del rendimiento Monitoreo del rendimiento Cómo utilizar el Perfilador de SQLCómo utilizar el Perfilador de SQL Monitoree eventos del servidorMonitoree eventos del servidor Capture instrucciones de SQL Capture instrucciones de SQL Identifique consultas con Identifique consultas con

rendimientorendimiento bajo bajo Reproduzca los problemas para su Reproduzca los problemas para su

diagnósticodiagnóstico

Page 47: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Monitoreo del rendimientoMonitoreo del rendimientoCuándo utilizar el Perfilador de SQLCuándo utilizar el Perfilador de SQL Depurar T-SQL o procedimientos Depurar T-SQL o procedimientos

almacenadosalmacenados Monitorear el rendimiento de SQL Monitorear el rendimiento de SQL

Server para ajustar las cargas de Server para ajustar las cargas de trabajotrabajo

Capturar los escenarios de Capturar los escenarios de interbloqueosinterbloqueos

Eventos de reproducción Eventos de reproducción capturadoscapturados

Page 48: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Monitoreo del Monitoreo del rendimiento rendimiento Perfilador SQLPerfilador SQL

Categorías de eventosCategorías de eventos Columnas de datosColumnas de datos FiltrosFiltros

Page 49: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Demostración 6Demostración 6Perfilador Perfilador SQL SQL

Rastrear consultas en una base de datosRastrear consultas en una base de datos

Crear asistente de rastreoCrear asistente de rastreo

Page 50: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Monitoreo del rendimientoMonitoreo del rendimientoProcedimientos almacenados del Procedimientos almacenados del sistemasistema

SQL TraceSQL Trace sp_trace_createsp_trace_create sp_trace_seteventsp_trace_setevent sp_trace_setfiltersp_trace_setfilter sp_trace_setstatussp_trace_setstatus sp_trace_generateeventsp_trace_generateevent

SQLDIAGSQLDIAG

Page 51: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Demostración 7Demostración 7 Procedimientos de diagnóstico Procedimientos de diagnóstico

del sistemadel sistema

Page 52: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Monitoreo del rendimiento Monitoreo del rendimiento UUso dso del monitor del sistemael monitor del sistema Monitorea todo el rendimiento del Monitorea todo el rendimiento del

sistemasistema Contadores del sistemaContadores del sistema Contadores de SQLContadores de SQL

Page 53: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Monitoreo del rendimiento Monitoreo del rendimiento Monitor del sistemaMonitor del sistemaMonitorea varias computadoras Monitorea varias computadoras

simultáneamentesimultáneamenteVe y cambia gráficos para reflejar la Ve y cambia gráficos para reflejar la

actividad actualactividad actualExporta datos a hojas de cálculo o Exporta datos a hojas de cálculo o

aplicaciones de la base de datosaplicaciones de la base de datosAgrega alertas al sistema para Agrega alertas al sistema para

notificarle de posibles problemasnotificarle de posibles problemas

Page 54: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Monitoreo del rendimiento Monitoreo del rendimiento Monitor del sistemaMonitor del sistema Ejecuta una aplicación cuando un valor Ejecuta una aplicación cuando un valor

del contador excede el valor definido por del contador excede el valor definido por el usuarioel usuario

Desarrolla archivos de registroDesarrolla archivos de registro Anexa archivos de registro para formar un Anexa archivos de registro para formar un

ficherofichero a largo plazo a largo plazo Ve los reportes actuales de actividadesVe los reportes actuales de actividades Genera reportes a partir de los archivos Genera reportes a partir de los archivos

de registro existentesde registro existentes Guarda gráficos, alertas, registros o Guarda gráficos, alertas, registros o

configuraciones de reporteconfiguraciones de reportess

Page 55: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Monitoreo del rendimiento Monitoreo del rendimiento Monitor del sistema – Contadores del Monitor del sistema – Contadores del sistemasistema Sistema:Sistema:

CambiosCambios/se/segg del contexto del contexto

Procesador: Procesador: TiempoTiempo de de %Processor %Processor TiempoTiempo de de %Privileged %Privileged TiempoTiempo de de %User %User Extensión de la consulta del Extensión de la consulta del

procesadorprocesador

Page 56: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Monitoreo del rendimiento Monitoreo del rendimiento Monitor del sistema – Contadores Monitor del sistema – Contadores del sistemadel sistema

SQL Server: Administrador de memoria:SQL Server: Administrador de memoria: Memoria total del servidor (KB)Memoria total del servidor (KB)

Proceso: Proceso: Contador del conjunto de trabajo para la Contador del conjunto de trabajo para la

instancia de SQL Serverinstancia de SQL Server Administrador del búfer de SQL Server:Administrador del búfer de SQL Server:

CoeficienteCoeficiente de la memoria caché del búfer de la memoria caché del búfer

Page 57: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Monitoreo del rendimiento Monitoreo del rendimiento Monitor del sistema – Contadores Monitor del sistema – Contadores del sistemadel sistema

Memoria: Memoria: Páginas/segPáginas/seg

SQLServer: Bases de datosSQLServer: Bases de datos Transacciones/segTransacciones/seg

Disco físico:Disco físico: Transferencias/seg del discoTransferencias/seg del disco

Page 58: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Demostración 8Demostración 8 Monitor del sistema Monitor del sistema

Configurar monitor del sistemaConfigurar monitor del sistema

Page 59: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Resumen de la sesiónResumen de la sesión

SQL Server 2000 puede utilizar SQL Server 2000 puede utilizar varias técnicas para mejorar el varias técnicas para mejorar el rendimiento de las aplicacionesrendimiento de las aplicaciones

Las técnicas incluyen:Las técnicas incluyen: Diseño de la aplicación y de la base de Diseño de la aplicación y de la base de

datosdatos Ajuste de consultasAjuste de consultas Configuración del sistemaConfiguración del sistema Monitoreo del rendimientoMonitoreo del rendimiento

Page 60: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Para mayores informes…Para mayores informes… Sitio Web TechNet en Sitio Web TechNet en

www.microsoft.com/technetwww.microsoft.com/technet Microsoft Official Curricula (MOC)Microsoft Official Curricula (MOC)

Curso # 2071 – ConsultaCurso # 2071 – Consultass de de Microsoft SQL Server 2000 con Transact-SQLMicrosoft SQL Server 2000 con Transact-SQL Curso # 2072 – Administrar una base de datos Microsoft SQL Server 2000Curso # 2072 – Administrar una base de datos Microsoft SQL Server 2000

Microsoft PressMicrosoft Press ““Inside SQL Server 2000”, Microsoft Press, 2000., o:Inside SQL Server 2000”, Microsoft Press, 2000., o:

http://http://mspress.microsoft.commspress.microsoft.com//booksbooks/4297./4297.htmhtm ““Microsoft® SQL Server™ 2000 Resource Kit”,Microsoft® SQL Server™ 2000 Resource Kit”,

http://http://www.mspress.microsoft.comwww.mspress.microsoft.com/PROD/BOOKS/4939.HTM/PROD/BOOKS/4939.HTM ““Microsoft® SQL Server™ 2000 Reference Library “,Microsoft® SQL Server™ 2000 Reference Library “,

http://http://mspress.microsoft.commspress.microsoft.com//prodprod//booksbooks/5001./5001.htmhtm ““Microsoft® SQL Server™ 2000 Administrator's Companion”,Microsoft® SQL Server™ 2000 Administrator's Companion”,

http://http://mspress.microsoft.commspress.microsoft.com//booksbooks/4519./4519.htmhtm ““Microsoft® BackOffice® 4.5 Resource Kit ”, Microsoft Press, 1999, o:Microsoft® BackOffice® 4.5 Resource Kit ”, Microsoft Press, 1999, o:

http://http://mspress.microsoft.commspress.microsoft.com//prodprod//booksbooks/2483./2483.htmhtm

Page 61: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

CapacitaciónCapacitaciónRecursos de capacitación para los Recursos de capacitación para los profesionales de informáticaprofesionales de informática ConsultaConsultas des de Microsoft SQL Server 2000 con Transact-SQL Microsoft SQL Server 2000 con Transact-SQL

Curso # 2071 — Dos días — Dirigido por instructor o Curso # 2071 — Dos días — Dirigido por instructor o aprendizaje por correo electrónicoaprendizaje por correo electrónico

Disponible: a través de MS CTECs en su áreaDisponible: a través de MS CTECs en su área Administrar una base de datos Microsoft SQL Server 2000Administrar una base de datos Microsoft SQL Server 2000

Curso # 2072— Cinco días — Dirigido por instructorCurso # 2072— Cinco días — Dirigido por instructor Disponible: a través de MS CTECs en su áreaDisponible: a través de MS CTECs en su área

Para localizar al proveedor de capacitación para este curso, visitePara localizar al proveedor de capacitación para este curso, visite

mcspreferral.microsoft.com/default.aspmcspreferral.microsoft.com/default.aspMicrosoft Certified Technical Education Centers (CTECs) Microsoft Certified Technical Education Centers (CTECs)

son socios premier de Microsoft para servicios de capacitaciónson socios premier de Microsoft para servicios de capacitación

Page 62: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

¿Dónde puedo obtener TechNet?¿Dónde puedo obtener TechNet?

Visite TechNet Online enVisite TechNet Online enwww.microsoft.com/technetwww.microsoft.com/technet

Regístrese para TechNet FlashRegístrese para TechNet Flash www.microsoft.com/technet/register/flash.aspwww.microsoft.com/technet/register/flash.asp

Únase al foro TechNet Online enÚnase al foro TechNet Online en www.microsoft.com/technet/discusswww.microsoft.com/technet/discuss

Conviértase en un suscriptor de TechNet enConviértase en un suscriptor de TechNet en technetbuynow.one.microsoft.comtechnetbuynow.one.microsoft.com

Asista a más eventos TechNetAsista a más eventos TechNet

Page 63: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

Conviértase en un Microsoft Conviértase en un Microsoft Certified Systems EngineerCertified Systems Engineer ¿Qué es MCSE?¿Qué es MCSE?

Certificación Premier para profesionales que analizan los Certificación Premier para profesionales que analizan los requerimientos de negocios y diseñan e implementan la requerimientos de negocios y diseñan e implementan la infraestructura para soluciones de negocios con base en el infraestructura para soluciones de negocios con base en el software del servidor Microsoft. software del servidor Microsoft.

¿Cómo me puedo convertir en un Windows 2000 ¿Cómo me puedo convertir en un Windows 2000 MCSE?MCSE? Pasar 4 exámenes básicosPasar 4 exámenes básicos Pasar 1 examen de diseñoPasar 1 examen de diseño Pasar 2 exámenes opcionales a partir de una lista completaPasar 2 exámenes opcionales a partir de una lista completa

¿Dónde obtengo mayores informes?¿Dónde obtengo mayores informes? Para mayores informes acerca de los requerimientos, Para mayores informes acerca de los requerimientos,

exámenes y opciones de capacitación para la certificación, exámenes y opciones de capacitación para la certificación, visite visite www.microsoft.com/mcpwww.microsoft.com/mcp

Page 64: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.
Page 65: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

USE masterUSE master GOGO CREATE procedure sp_lock2 CREATE procedure sp_lock2 @spid1 int = NULL,@spid1 int = NULL, /* id del proceso de servidor para el que se comprueban /* id del proceso de servidor para el que se comprueban

los bloqueos */los bloqueos */ @spid2 int = NULL@spid2 int = NULL /* otros id de proceso para el que comprobar los bloqueos /* otros id de proceso para el que comprobar los bloqueos

*/*/ asas

set nocount onset nocount on /*/* ** Muestra los bloqueos para ambos parámetros.** Muestra los bloqueos para ambos parámetros. ** No muestra los bloqueos de master, tempdb, model o msdb** No muestra los bloqueos de master, tempdb, model o msdb */*/ if @spid1 is not NULLif @spid1 is not NULL beginbegin select select convert (smallint, req_spid) As spid,convert (smallint, req_spid) As spid, convert(char(20),db_name(rsc_dbid)) As [Database],convert(char(20),db_name(rsc_dbid)) As [Database], rsc_objid As ObjId,rsc_objid As ObjId, rsc_indid As IndId,rsc_indid As IndId, substring (v.name, 1, 4) As Type,substring (v.name, 1, 4) As Type, substring (rsc_text, 1, 16) as Resource,substring (rsc_text, 1, 16) as Resource, substring (u.name, 1, 8) As Mode,substring (u.name, 1, 8) As Mode, substring (x.name, 1, 5) As Statussubstring (x.name, 1, 5) As Status

from from master.dbo.syslockinfo,master.dbo.syslockinfo, master.dbo.spt_values v,master.dbo.spt_values v, master.dbo.spt_values x,master.dbo.spt_values x, master.dbo.spt_values umaster.dbo.spt_values u

where master.dbo.syslockinfo.rsc_type = v.numberwhere master.dbo.syslockinfo.rsc_type = v.number and v.type = 'LR'and v.type = 'LR' and master.dbo.syslockinfo.req_status = x.numberand master.dbo.syslockinfo.req_status = x.number and x.type = 'LS'and x.type = 'LS' and master.dbo.syslockinfo.req_mode + 1 = u.numberand master.dbo.syslockinfo.req_mode + 1 = u.number and u.type = 'L'and u.type = 'L' and rsc_dbid >=5and rsc_dbid >=5

Page 66: Rendimiento de Microsoft® SQL Server TM 2000 Microsoft Corporation.

and req_spid in (@spid1, @spid2)and req_spid in (@spid1, @spid2) endend

/*/* ** Sin parámetros, muestra todos los bloqueos.** Sin parámetros, muestra todos los bloqueos. */*/ elseelse beginbegin select select convert (smallint, req_spid) As spid,convert (smallint, req_spid) As spid, convert(char(20),db_name(rsc_dbid)) As [Database],convert(char(20),db_name(rsc_dbid)) As [Database], rsc_objid As ObjId,rsc_objid As ObjId, rsc_indid As IndId,rsc_indid As IndId, substring (v.name, 1, 4) As Type,substring (v.name, 1, 4) As Type, substring (rsc_text, 1, 16) as Resource,substring (rsc_text, 1, 16) as Resource, substring (u.name, 1, 8) As Mode,substring (u.name, 1, 8) As Mode, substring (x.name, 1, 5) As Statussubstring (x.name, 1, 5) As Status

from from master.dbo.syslockinfo,master.dbo.syslockinfo, master.dbo.spt_values v,master.dbo.spt_values v, master.dbo.spt_values x,master.dbo.spt_values x, master.dbo.spt_values umaster.dbo.spt_values u

where master.dbo.syslockinfo.rsc_type = v.numberwhere master.dbo.syslockinfo.rsc_type = v.number and v.type = 'LR'and v.type = 'LR' and master.dbo.syslockinfo.req_status = x.numberand master.dbo.syslockinfo.req_status = x.number and x.type = 'LS'and x.type = 'LS' and master.dbo.syslockinfo.req_mode + 1 = u.numberand master.dbo.syslockinfo.req_mode + 1 = u.number and u.type = 'L'and u.type = 'L' and rsc_dbid >=5and rsc_dbid >=5 order by spidorder by spid endend

return (0) -- sp_lock2return (0) -- sp_lock2