Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=b466b271-f232-4789-856b-30c78102c9f9

VÍDEO: Cómo exportar una base de datos SQL Server a un script (incluyendo los datos)

Existen muchas maneras de poder enviar una base de datos de un servidor SQLServer a otro. Puedes hacer un backup, puedes desvincular la base de datos y copiar los archivos .mdf y .log para copiarlos y transportarlos hasta el otro servidor... Pero una de las maneras más sencillas y universales es generar un script de T-SQL que reconstruya la base de datos en cualquier lado. Esto te permite copiar la información en un formato manejable (al fin y al cabo es solo texto), poder retocar cualquier cosa si lo necesitas, y no da problemas por diferencias en el almacenamiento binario entre una versión y otra de SQL Server.

De hecho, otra ventaja es que puedes elegir con detalle exactamente qué te interesa exportar. Se puede generar un script tanto para crear las tablas, índices, relaciones, procedimientos almacenados y cualquier otro objeto de la base de datos, y al mismo tiempo también líneas de script para insertar cualquier dato que haya en la base de datos (con instrucciones INSERT). Buscando la información concreta que nos interese dentro del script podremos elegir exactamente qué queremos regenerar en otro servidor, modificar la forma en la que se genera cada objeto, eliminar o añadir registros en cualquier tabla...

Finalmente otra gran ventaja de disponer de un script T-SQL es que podemos añadirlo al control de código fuente (Git, Subversion, Mercurial o lo que usemos) y poder saber exactamente qué cambios ha habido desde una versión anterior de la base de datos a la versión actual, facilitando la comparación.

Conseguir generar este tipo de script es muy fácil, y solamente necesitas conocer un par de detalles para poder exportar toda la información.

En este vídeo que te ofrecemos a continuación puedes ver lo sencillo que es y qué par de detalles debes tener en cuenta a la hora de hacerlo:

¡Espero que te resulte útil!

Fecha de publicación:
José Manuel Alarcón Fundador de campusMVP, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Microsoft lo ha reconocido como MVP (Most Valuable Professional) en desarrollo web desde el año 2004 hasta la actualidad. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José Manuel Alarcón
Archivado en: Acceso a Datos

¿Te vas a perder los mejores trucos de programación?

Únete a miles de desarrolladores que ya reciben cada mes nuestro boletí­n por email. No te pierdas los mejores trucos, noticias y frikadas.

Enviamos poco, pero bueno. Palabra de desarrollador.

Suscríbete aquí­

Sí­guenos también en:

Telegram LinkedIn YouTube
La mejor formación online para desarrolladores como tú

Comentarios (3) -

Disgraptec
Disgraptec

Estimado Jose Manuel, en el caso de que se requiera que esto se realice en una tarea programada, como sería su ejecución o quizá se debería programar algún codigo para que se lleve a cabo la tarea?. Gracias por la respuesta.

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola:

Pues me temo que no puedes hacerlo desde aquí. Tendrías que crear un script que leyese el esquema de datos desde las tablas del sistema o utilizar la herramienta "SQL Server Import and Export Data" que te permite generar un paquete para trasegar datos entre dos bases de datos, que te permitirá crear una tarea programada para enviar los cambios de una base de datos a otra (aunque no es exactamente lo mismo y en las versiones Express no puedes guardarlo para reutilizarlo).

Siento no poder ayudarte más.

Saludos.

Responder

Si, pero... como hago eso mismo desde un archivo mdf que tengo en mi proyecto?

Responder

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.