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.
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.
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.
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.
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.
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.
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.
Ahora nos sale una
pantalla de confirmación y pulsamos el botón finalizar.
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.
Perfecto. Sólo una pregunta
ResponderEliminar¿Hay alguna forma de decirle a SQL Server cómo tiene que hacer la conversión de Data Types?
Gracias
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.
ResponderEliminarhttps://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
Por favor ¿Cómo instalar el Analizador de Consultas de SQL Server?
ResponderEliminarAquí te dejo información para instalar el analizador de consultas de SQL Server 2005
Eliminarhttps://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