El Blog de Sql Server 2008

miércoles, 29 de junio de 2011

Migrar base de datos de SQL Server – Checklist parte 1

Es un hecho que las bases de datos siempre van cambiando de un lugar, ya sea de una instancia a otra, desde servidores antiguos a servidores nuevos, como también se mueven debido al lanzamiento de un nuevo software, respaldos,  disaster recovery, etc.
Migrar bases de datos de SQL Server puede ser un tema complejo, hay muchos componentes involucrados: Jobs, DTS o paquetes SSIS.
Bueno en este articulo nos focalizaremos en la instalación de la base en si misma.
Paso 1: Realizar una copia de los datos y logs al realizar el proceso de attach y detach
Cuando realizamos un attaching y detaching, nos debemos ocupar de realizar un respaldo de la data y logs, si el destino esta corriendo una versión más reciente de SQL Server, es debido a que una vez attached una nueva versión a una nueva versión, la base de datos no podrá detacheada y attacheada a una versión mas antigua. Si intentan hacerlo tendrán el siguiente mensaje de error.
Server: Msg 602, Level 21, State 50, Line 1
Could not find row in sysindexes for database ID 6, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes.
Connection Broken
Si intentan respaldar y restaurar la base tendrán el mismo problema. Por eso es importante tener todos los archivos de log
Paso 2: Cambiar el nivel de compatibilidad de la base de datos (opcional)
Una vez restaurada la base de datos o attacheada en una nueva versión de SQL Server, tendremos que decidir si cambiamos el nivel de compatibilidad de la base de datos. Esto podría ocurrir por ejemplo si tenemos códigos deprecated (obsoletos) en nuestros  procedimientos almacenados en la base de datos.
La lista de compatibilidades de antiguas versiones de SQL Server a nuevas se pueden encontrar en los Book Online como sp_dbcmptlevel.
Las personas mas idóneas para decidir si hacer esto o no, son los programadores, que son los que están “encima” del codigo.
Para cambiar el modo compatibilidad lo pueden hacer en las propiedades de la base de datos ver figura 1 o usando el procedimiento almacenado sp_dbcmptlevel

Ojo al tener activada esta opción no podrán ver los reportes asociados a esa base de datos, es decir si queremos ver el Informe o Reporte Disk Usage by Top Tables, tendremos el siguiente mensaje de error.
“Error: Unable to display report because the database has a compatibility level of 80. To view this report you need to use the Database Properties dialog to change the compatibility level to SQL Server 2005(90)
Paso 3: Ejecutar DBCC UPDATEUSAGE

Etiquetas:

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]



<< Inicio