Pregunta Volcar la base de datos de Microsoft SQL Server a un script SQL


¿Hay alguna forma de exportar una base de datos de Microsoft SQL Server a un script de SQL?

Estoy buscando algo que se comporte de manera similar a mysqldump, tome un nombre de base de datos y produzca un solo script que recreará todas las tablas, procedimientos almacenados, reinsertará todos los datos, etc.

He visto http://vyaskn.tripod.com/code.htm#inserts, pero idealmente quiero algo para recrear todo (no solo los datos) que funciona en un solo paso para producir el script final.


116
2017-08-25 01:47


origen


@Matt Sí, no exporta los datos. Por eso mencioné que deberías combinarlo con el guión que sugeriste. Sin embargo, este método crea un script en el orden correcto. - Julio César
En realidad, en Mangement Studio 2008, solo tiene que activar la opción "exportar datos", y la secuencia de comandos contendrá instrucciones de esquema e inserción. - user24161
Relacionado: ¿Cómo exportar datos como formato CSV desde SQL Server usando sqlcmd? - kenorb


Respuestas:


En SQL Server Management Studio, haga clic con el botón derecho en su base de datos y seleccione Tareas / Generar secuencias de comandos. Siga el asistente y obtendrá un script que recrea la estructura de datos en el orden correcto de acuerdo con las claves externas. En el paso del asistente titulado "Establecer opciones de secuencias de comandos", seleccione "Avanzado" y modifique la opción "Tipos de datos a secuencia de comandos" a "Esquema y datos"

CONSEJO: en el paso final, seleccione "Script a una nueva ventana de consulta", así funcionará mucho más rápido.


102
2017-08-25 01:59



Solo recuerde ir a las opciones avanzadas y decirle a la secuencia de comandos no solo el esquema, sino también los datos. - RomanSt
¡@romkyns merece todos los votos! "Tipos de datos a secuencia de comandos" es el nombre exacto de la opción. Usted querrá seleccionar "Esquema y datos". - solidau
El principal problema con los scripts generados desde SSMS es que no están ordenados correctamente para tener en cuenta las dependencias. Esto no es un problema para bases de datos pequeñas donde puede hacer esto manualmente, pero definitivamente es un problema cuando la base de datos obtiene más de 50 objetos. Hasta ahora hemos utilizado con éxito ApexSQL Script para esto. Es una herramienta premium, pero puede usarla en modo de prueba para hacer el trabajo. Yo creo que Puerta roja También tiene una herramienta similar. - David Smithers


Tratar Asistente de publicación de la base de datos del servidor SQL. Es posible que deba volver a ordenar el script para que se ejecute de una sola vez, debido a dependencias, pero incluirá su esquema y sus datos.

Si no tiene instalados los objetos SQL XMO de 2005, obtendrá un error cuando ejecute el mago. Querrás la colección de objetos de administración de Microsoft SQL Server 2005


34
2017-08-25 01:57



En realidad, no es necesario reordenar la secuencia de comandos, ya que elimina todas las restricciones, crea el esquema, inserta los datos y, finalmente, recrea las restricciones. - Daniel Silveira
Impresionante, eso es bastante lindo. - Beep beep
Esta es una gran herramienta, aunque solo es compatible con SQL Server 2015. ¿Qué hay de 2008 y posteriores? - Nam G VU


encontré Dumper SQL bastante útil Es gratis, así que puedes intentarlo. Le permite elegir las tablas y columnas de la base de datos, las vistas e incluso los resultados de las consultas personalizadas como sentencias de inserción SQL.


11
2018-02-10 16:40



La última versión estable no funciona con procedimientos almacenados. - VMAtm
La última versión se puede descargar desde download.cnet.com/SQL-Dumper/3000-10254_4-10514574.html - Raynet


Al no encontrar la herramienta adecuada, decidí crear la mía: una utilidad de línea de comandos sqlserverdump. Échale un vistazo a http://sqlserverdump.codeplex.com/. Recreará el esquema y los datos en un solo paso.


7
2017-09-22 06:50





Tratar DBSourceTools. Está diseñado para realizar un script de una base de datos de origen y volver a implementarse en una base de datos de destino. Se escribe el esquema y los datos.


6
2018-03-08 03:50





La solución recomendada solo funciona en SQL 2000 y 2005. Si desea hacer esto en SQL 2008,

Puedes hacerlo con SQL 2008 sin ningún otro complemento. Haga clic derecho en la base de datos y seleccione "Tareas -> Generar secuencias de comandos ...". Seleccione la base de datos y lo que desea hacer una copia de seguridad. Haga clic en siguiente y establezca los "Datos del script" en verdadero.

Más documentación en el enlace:

http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema- almacenado-procedimiento-funciones-disparadores-tablas-vistas-restricciones-y-todos-los-otros-objetos-base de datos /


5
2018-05-29 22:58



meta.stackexchange.com/questions/8231/… - jscott


El Asistente para la publicación de bases de datos de SQL Server parece ser la mejor manera de hacerlo. El problema con esto es que no parece funcionar con Windows 7. Tuve que usar mi vieja computadora para usarlo. En el lado positivo, funciona con versiones anteriores de SQL Server como 2000.

Para las versiones más recientes de SQL y los sistemas operativos, este software podría ser útil: http://sqlbackupandftp.com/


2
2018-04-27 19:32