Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
img
img

 

 

SQL Server
Blog. (Apuntes y Recopilaciones) por Norman M. Pardell

img
img

Migrar de SQL Server 2000 a versiones superiores de SQL Server

 Hay ocasiones puntuales en el que el rendimiento de una consulta puede resultar peor en una versión más reciente de SQL Server, aunque no es lo normal. Hay que tener presente que los motores tratan las consultas de forma diferente. No hay un patrón ni un ajuste que puedas aplicar para que todo funcione mejor, más allá de seguir las buenas prácticas, toca revisar cada sentencia que haya perdido rendimiento y mejorarla, en ocasiones indexando, en otras reescribiendo la consuta por otra mejorada...

Una de las cosas que más afectan al rendimiento en una migración es que se realice actualización de estadísticas o una reindexación de la base de datos migrada. Básicamente, seguir las recomendaciones indicadas en el documento de migración: SQL Server 2008 R2 Upgrade Guide

Despues de las migraciones, es frecuente y aconsejable el uso de SQL Profiler para capturar trazas de tu aplicación, particularmente las que hacen referencia a desempeño, y analizar cuáles son las consultas que se demoran más y establecer que se puede hacer para mejorar el desempeño de éstas.

 En este documento en MSDN, Troubleshooting Performance Problems in SQL Server 2008, además de SQL Profiler, hay varias herramientas que te pueden ayudar a detectar que sucede.

 Siempre es mejor, al actualizar de versión, usar el mecanismo "side by side" para precisamente no impactar el desempeño actual y sobre todo, para revisar que cosas particularmente si mejoran con la actualización y que cosas son susceptibles de mejorar. Entiendo que a veces no hay HW suficiente para esto, pero es mejor para evitar percepciones del tipo "se actualizó y ahora nos va peor", entre otras menos amables...

Recomendaciones a realizar en toda migración por Microsoft:

Fuente: http://msdn.microsoft.com/es-es/library/bb933942.aspx

 
Después de actualizar el Motor de base de datos, complete las siguientes tareas:
  • Registre de nuevo los servidores. Para obtener más información acerca del registro de servidores, vea el temaRegistrar servidores en los Libros en pantalla de SQL Server.

  • Vuelva a rellenar los catálogos de texto completo. Esta operación mejora el rendimiento de la instalación de SQL Server. Para obtener más información, vea el tema sp_fulltext_catalog (Transact-SQL) en los Libros en pantalla de SQL Server.

  • Después de actualizar desde SQL Server 2000, actualice las estadísticas en todas las bases de datos. Utilice el procedimiento almacenado sp_updatestats para actualizar las estadísticas de las tablas definidas por el usuario en las bases de datos de SQL Server. Este paso no es necesario para actualizar desde SQL Server 2005.

  • Ejecute DBCC UPDATEUSAGE en todas las bases de datos para corregir los recuentos de páginas o filas incorrectos.

  • Configure la instalación de SQL Server. Para reducir el área expuesta a ser atacada de un sistema, SQL Server instala y habilita de manera selectiva los servicios y características clave.

  • Valide o quite las sugerencias de USE PLAN que genera SQL Server 2005 y que se aplican a las consultas en las tablas con particiones e índices.

    SQL Server 2008 cambia la manera en la que se procesan las consultas en las tablas e índices con particiones. Las consultas en los objetos con particiones que usan la sugerencia USE PLAN para un plan generado por SQL Server 2005 podrían contener un plan que no se pueda usar en SQL Server 2008. Recomendamos que siga estos procedimientos después de actualizar a SQL Server 2008.

    Cuando la sugerencia de USE PLAN se especifica en una consulta directamente:

    1. Quite la sugerencia de USE PLAN de la consulta.

    2. Pruebe la consulta.

    3. Si el optimizador no selecciona ningún plan adecuado, ajuste la consulta y, a continuación, considere especificar la sugerencia de USE PLAN con el plan de consultas deseado.

    Cuando la sugerencia de USE PLAN se especifique en una guía de plan:

    1. Utilice la función sys.fn_validate_plan_guide para comprobar la validez de la guía de plan. O bien, puede comprobar si hay planes no válidos mediante el evento Guía de plan incorrecto de SQL Server Profiler.

    2. Si la guía de plan no es válida, elimínela. Si el optimizador no selecciona ningún plan adecuado, ajuste la consulta y, a continuación, considere especificar la sugerencia de USE PLAN con el plan de consultas que desee.

    Un plan que no es válido no hará que la consulta no se pueda ejecutar cuando la sugerencia de USE PLAN se especifique en una guía de plan. En su lugar, la consulta se compila sin utilizar la sugerencia de USE PLAN. Para obtener más información sobre el procesamiento de consultas en objetos con particiones, vea Mejoras de procesamiento de consultas en las tablas e índices con particiones .

Las bases de datos marcadas como habilitadas o deshabilitadas para texto completo antes de la actualización conservarán dicho estado tras la actualización. Después de la actualización, los catálogos de texto completo se volverán a generar y a rellenar automáticamente en todas las bases de datos habilitadas para texto completo. Se trata de una operación que consume tiempo y recursos. Puede pausar la operación de indización de texto completo temporalmente ejecutando la siguiente instrucción:

EXEC sp_fulltext_service 'pause_indexing', 1

Para reanudar el rellenado de los índices de texto completo, ejecute la siguiente instrucción:

EXEC sp_fulltext_service 'pause_indexing', 0
 
 Por ultimo recomiendo verificar los temas planteado en esta documentacion y nos comenta

Migration SQL Server 2000 to SQL Server 2008

 

Apunte y recopilación por Norman M. Pardell

Fuete: Foros msdn

Puedes consultarme, si deseas cualquier aclaración, pregunta o sugerencia en: Contacto, contestaré tan pronto como me sea posible.

publicado por normanmpardell a las 19:12 · Sin comentarios  ·  Recomendar
Comentarios (0) ·  Enviar comentario
Esta entrada no admite comentarios.
img
.Sobre mí
FOTO

Norman M. Pardell

MCITP: Database Administrator & Database Developer, SQL Server 2008. MCC Award Certificate. Consultor Senior de bases de datos en Capgemini España, S.L. Asesoramiento en implementación, desarrollo y gestión de bases de datos en grandes compañías. Actualmente, asignado a proyecto en compañía líder en el sector energético global. Más de 10 años trabajando con SQL Server (y otros gestores de BBDD)

» Ver perfil

img
.Secciones
» Inicio
img
.Enlaces
» Microsoft MSDN Foros
» Windows Server 2012
img
.Más leídos
» Asignar la cantidad correcta de Memoria para SQL Server
» Base de Datos Sospechosa (Suspect)
» Como modificar la Intercalación (Collation) en SQL Server
» Como renombrar una instancia de SQL Server. sp_dropserver. sp_addserver
» Detectar bloqueos. SQL Server V.2005 y superiores
» Funciones SQL Server. Funciones escalares y funciones con valores de tabla.
» Integridad y corrupción en las bases de datos: DBCC CHECKDB
» Log de transacciones ( .ldf ). SQL Server.
» Migrando SQL Server 2005, 2008, 2008 R2 a SQL Server 2012
» Transacciones activas. SQL server 2008
img
.Nube de tags [?]
                                                           
img img
FULLServices Network | Crear blog | Privacidad