Pregunta

Tengo una tabla de base de datos en un servidor de desarrollo que ahora está completamente poblada después de configurarla para que se ejecute con una rutina de importación para un archivo CSV que contiene 1,4 millones de filas.

Ejecuté el Asistente de publicación de base de datos en la tabla, y ahora tengo un script SQL de 286MB en mi máquina local. El problema es que no puedo entender cómo ejecutarlo. Si lo cargo en SQL Server Management Studio Express, aparece una ventana de alerta que dice "No se pudo completar la operación".

¿Alguna idea sobre cómo puedo ejecutar este script SQL?

¿Fue útil?

Solución

Ejecutar algo tan grande dentro de una sola transacción no es una buena idea. Por lo tanto, recomendaría dividir el archivo en fragmentos más pequeños y manejables.

Otra opción es ver algunas de las otras formas de importar datos CSV directamente.

Otros consejos

use la herramienta sqlcmd para ejecutar el archivo ..

sqlcmd -S myServer\instanceName -i C:\myScript.sql

En caso de que tenga un " error de script " inexplicable para archivos sql grandes (> 100MB) que incluye varios INSERT, simplemente reemplace "INSERT INTO" por " IR INSERTAR EN " en su archivo, lo que reducirá el tamaño de la transacción.

Esta herramienta ( Big SQL Script File Runner ) en CodePlex ejecutará archivos de script de cualquier tamaño con log y GUI.

Añadiendo a la respuesta de Gulzar Nazim: Si aún tiene una falla, intente especificar página de códigos de su archivo SQL usando la opción -f :

sqlcmd -S myServer \ instanceName -d databaseName -i C: \ myScript.sql -f 65001

Estaba tratando de importar un archivo .dump desde SQLite (UTF-8 por defecto), y sqlcmd seguía arrojando un error después de encontrar el primer carácter especial. -f 65001 me lo arregló.

¿Por qué no usar DTS para importar el archivo CSV directamente?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top