Archivo de Enero de 2012 Todos sabemos que TEMPDB es una base de datos del Sistema que SQL Server utiliza para diferentes tareas internas, y que nosotros mismos podemos utilizar de forma explícita (ej: creación de tablas temporales). El presente artículo pretende presentar y diferenciar dos de los posibles tipos de acceso a TEMPDB que pueden realizarse como resultado del Plan de Ejecución de nuestras consultas, el acceso a TEMPDB por desbordamiento (spilling to TEMPDB) y la utilización de Tablas de Trabajo (Work Tables). En esta tercera entrega de la serie de artículos sobre los eventos de traza Hash Warning y Sort Warnings, vamos a realizar paso a paso un ejemplo sobre la base de datos de Adventure Works, para reproducir un evento Sort Warning y evidenciar la penalización de rendimiento por el acceso a TEMPDB (debido a la subestimación de memoria de consulta por la reutilización del Plan de Ejecución), para seguidamente reproducir el caso contrario (la sobrestimación de memoria de consulta por la reutilización del Plan de Ejecución). En esta segunda entrega de la serie de artículos sobre los eventos de traza Hash Warning y Sort Warnings, vamos a centrar nuestra atención en la concesión de memoria de consulta (Memory Grant) que se realiza al ejecutar consultas con Operadores Costosos (Expensive Operators) en el Plan de Ejecución como las Ordenaciones y operaciones Hash, incluyendo las variaciones en las necesidades de memoria en función del número de procesadores utilizados por la consulta, es decir, del paralelismo (DOP: Degree Of Parallelism). Para todo esto, utilizaremos un ejemplo práctico. Un problema que nos podemos encontrar en MOSS 2007 con el paso de los años, es que el certificado digital autofirmado del Site Office Server Web Services esté caducado. En este caso, obtendremos en el visor de sucesos de Aplicación multitud de entradas para el Event ID 6482 con origen Office SharePoint Server. Además, nos encontraremos con diferentes errores, como por ejemplo el error The remote certificate is invalid according to the validation procedure al intentar visualizar la configuración de Orígenes de Contenido en los Servicios Compartidos. Los Eventos de Traza Sort Warning y Hash Warnings, son un importante indicador de Problemas de Rendimiento en SQL Server, relacionados con la subestimación de memoria de consulta (Query Memory o Workspace Memory) en los Planes de Ejecución. Su ocurrencia, implica la ejecución de consultas SQL utilizando menos RAM de la recomendable, incurriendo en realizar la misma tarea en múltiples fases y escribiendo en TEMPDB (spilling to TEMPDB), en lugar de realizarlo en un único paso utilizando memoria RAM, y además, puede implicar problemas adicionales de Esperas (Waits) de consultas pendientes de adquirir memoria. Y todo esto, se complica más si tenemos muchos procesadores en SQL Server. |