17 noviembre 2010

Problemas de rendimiento de SQL Server y configuración del TempDB

Muchas veces tenemos problemas de desempeño cuando estamos trabajando con SQL Server. En varios casos el cuello de botella está en la apropiada configuración de la base de datos TempDB (la base de datos para operaciones internas o temporales que usa SQL Server). Líneas abajo está la referencia a un link que me parece bastante importante compartir y lo deben internalizar para cada implementación de SQL Server que hagan, principalmente cuando tengan procesos de ETL que trabajen con grandes volúmenes de datos.

Básicamente los best practices recomiendan crear tantos files de datos al TempDB (mdf, ndf) como “cores” tenga su servidor (cada microprocesador tiene un número de cores). En el caso de los nuevos servidores que están saliendo al mercado en donde un solo procesador puede tener hasta 12 cores (por tanto con 4 procesadores tendría un total de 48 cores), de acuerdo a la experiencia, los foros de MVPs en SQL sugieren que no necesariamente se deben crear los 48 archivos, sino que se debe comenzar con la proporción 1 a 4 ó 1 a 8  (el primer número indica la cantidad de archivos que se deben crear para el TempDB y el segundo la cantidad de cores) y a partir de ahí monitorear con los los Dynamic Management Views [sys.dm_exec_request o sys.dm_os_waiting_tasks] a ver si hay contención (wait resources / contención – tipo LATCH) para la base de datos TempDB.

Una herramienta bastante recomendada de usar para asegurar de que nuestro servidor siga varios best practices como la del TempDB es el SQL Server Best Practices Analyzer (BPA) para SQL Server 2008 o 2008 R2.

Más detalles en el link: Recommendations to reduce allocation contention in SQL Server tempdb database” http://support.microsoft.com/kb/2154845

Alan

09 noviembre 2010

SQL Server Denali CTP1: El futuro SQL Server ya está disponible!

Hoy es un muy buen día para los que de algún modo estamos inmersos en el mundo de Microsoft SQL Server. Hay muchas cosas pasando esta semana y ahora mismo, yo por ejemplo estoy en una conferencia en Las Vegas acerca de CRM 2011 (Extreme 2010), pero no podía dejar pasar el momento para enviar mi primer post acerca del nuevo SQL Server que acaba de ser anunciado hace unas horas en el primer día del PASS Summit 2010.

Lo más interesante de todo esto, es que contra todo pronóstico, el CTP1 de Denali, está disponible para todo el mundo que quiera jugar con él (obviamente no en producción), ya que según conversaciones con el equipo del producto, recién desde el CTP4 o 5 recién estaría disponible para el público en general. Esto habla muy bien del producto y del proceso de madurez por el que atraviesa y seguirá evolucionando con todo el feedback que se pueda recibir de los aventureros que comiencen a jugar con esta nueva versión.

Los dejo con la página donde pueden ya bajar SQL Server Denali: http://www.microsoft.com/sqlserver/en/us/product-info/future-editions.aspx, y el newsletter en que Microsoft anuncia formalmente la disponibilidad de Denali y del Parallel Data Warehouse 2008 R2: http://www.microsoft.com/Presspass/press/2010/nov10/11-09PASS10PR.mspx.

Alan