sábado, 23 de mayo de 2015

De ACCESS a SQL SERVER como convertir una base de datos.

Hay veces que desarrollamos una base de datos en Access para una aplicación sencilla y con el transcurrir del tiempo la base de datos se va complicando y haciendo más grande hasta que llega un momento en el que nos vemos obligados a migrar a un gestor de base de datos más potente, en este caso hemos elegido SQL Server.

En esta ocasión voy a explicar una forma rápida y sencilla de convertir una base de datos ACCESS 2010 a SQL Server. Con la versión de Access 2010 es muy sencilla la conversión pues viene con un  asistente que nos lleva a través de una serie de pantallas con lo que la conversión es casi automática.

Para realizar dicha migración es necesario que en el servidor de destino  (nuestro propio equipo en este caso)  tenga previamente instalado el Analizador de Consultas de SQL Server.

En Access 2010 elegimos la pestaña de Herramientas de base de datos y nos muestra una barra de iconos a modo de menú. Uno de los iconos tiene el literal SQL Server. Al posicionarnos sobre él, muestra una leyenda indicando que dicho botón migra una parte o toda la base de datos a una base de datos nueva o existente del servidor SQL Server.

Convertir Base de Datos de ACCESS a SQL SERVER


Si pulsamos este icono, nos abre un asistente que nos guiará en el proceso. La primera pantalla del asistente nos permite elegir si la base de datos de destino en SQL Server será una base de datos nueva o una ya existente.

Asistente de conversión de Access a SQL Server



Si elegimos "Usar base de datos existente"  nos llevará por una serie de pantallas para crear un nuevo DSN de conexión o elegir uno ya existente.

En nuestro caso elegimos “Crear nueva base de datos” y pulsamos el botón siguiente.
Esto nos abre otra pantalla en la que aparece un despegable en el que podremos elegir el servidor de SQL Server o teclearlo directamente. Si el servidor es nuestro equipo local, bastará con poner el nombre del equipo. 

Chequeamos “Usar servidor de confianza” y elegimos un nombre para la nueva base de datos en SQL Server. Pulsamos de nuevo el botón siguiente.

Servidor de SQL Server para convertir la BBDD de Access

Ahora aparecerá una pantalla con las tablas de nuestra base de datos. Podemos elegir que tablas se traspasarán a la nueva base de datos. En caso de duda es mejor traspasar todas para evitar conflictos de foreign keys.

Asistente para convertir a SQL Server desde Access 2010

Al pulsar el botón >>  veremos todas las tablas a traspasar a la nueva base de datos en la parte derecha del cuadro de diálogo. Estas tablas son las que finalmente se traspasarán a SQL Server.

Tablas a convertir de Access a SQL Server

Si queremos hacer algún cambio estamos a tiempo de pulsar el botón < para no migrar la tabla que en ese momento se encuentre seleccionada (en negro) o << para revertir todas las tablas. Si queremos continuar pulsamos el botón  siguiente.

Ahora nos saldrá otra pantalla en la que nos pide que atributos deseamos migrar. Una vez más si no lo tenemos claro para evitar conflictos posteriores elegimos todo.
En Agregar campos de marca de tiempo a las tablas, elegimos No, nunca.

En caso de que queramos traspasar la base de datos sin los datos, sólo la estructura de tablas, marcaremos la opción “Crear sólo la estructura; no convertir ningún otro dato”. Pulsamos el botón siguiente.

Atributos del asistente de convercsión de Access a SQL Server

Ahora nos muestra otra pantalla con más opciones, normalmente no necesitamos marcar nada aquí y pulsamos el botón siguiente, también podemos pulsar ya a finalizar directamente para que no muestre más opciones.

Asistente para convertir a SLQ Server

Ahora nos sale una pantalla de confirmación y pulsamos el botón finalizar.

Finalizar asistente para convertir a SQL Server

Esto comienza el proceso automático de conversión de la base de datos, finalizado el proceso si abrimos el analizador de consultas de SQL Server, en el explorador de objetos debería aparecernos ya nuestra base de datos con el nombre que hayamos elegido para ella. Al desplegar sus tablas deberemos ver las tablas que hayamos elegido traspasar. La Base de datos ya está migrada y ya se puede trabajar con ella desde SQL Server.

Base de datos de SQL Server convertida desde Access 2010

4 comentarios:

  1. Perfecto. Sólo una pregunta
    ¿Hay alguna forma de decirle a SQL Server cómo tiene que hacer la conversión de Data Types?
    Gracias

    ResponderEliminar
  2. La migración convierte de forma automática los tipos de la base de datos de Access a los correspondientes de SQL server si deseas migrar cambiando los tipos, este asistente no permite esa opción, para ello deberías hacerlo al revés; es decir, importar los datos de Access desde SQL Server.

    https://msdn.microsoft.com/es-es/library/ms140052(v=sql.120).aspx

    Y dentro de este proceso, especificar las conversiones de los tipos de cada tabla con CAST y CONVERT.

    https://technet.microsoft.com/es-es/library/ms191530(v=sql.105).aspx

    ResponderEliminar
  3. Por favor ¿Cómo instalar el Analizador de Consultas de SQL Server?

    ResponderEliminar
    Respuestas
    1. Aquí te dejo información para instalar el analizador de consultas de SQL Server 2005
      https://technet.microsoft.com/es-es/library/ms171773(v=sql.90).aspx

      Para otras versiones puedes guiarte con esto.
      https://technet.microsoft.com/es-es/library/ms171773(v=sql.105).aspx

      Eliminar