tabla - ¿Cómo se importa un gran archivo MS SQL.sql?
importar archivo csv a sql server (9)
Utilizo la comparación de datos de RedGate SQL y generé un archivo .sql, para poder ejecutarlo en mi máquina local. Pero el problema es que el archivo tiene más de 300 mb, lo que significa que no puedo copiar y pegar porque el portapapeles no podrá manejarlo, y cuando intento abrir el archivo en SQL Server Management Studio me aparece un error. acerca de que el archivo es demasiado grande
¿Hay una manera de ejecutar un archivo .sql grande? El archivo contiene básicamente datos para dos nuevas tablas.
El archivo contiene básicamente datos para dos nuevas tablas.
Entonces, puede que le resulte más sencillo solo a DTS (o SSIS, si se trata de SQL Server 2005+) los datos, si los dos servidores están en la misma red.
Si los dos servidores no están en la misma red, puede hacer una copia de seguridad de la base de datos de origen y restaurarla en una nueva base de datos en el servidor de destino. Luego puede usar DTS / SSIS, o incluso un simple INSERT INTO SELECT
, para transferir las dos tablas a la base de datos de destino.
- Tomar el símbolo del sistema con privilegios de administrador
- Cambie el directorio a donde se almacenó el archivo .sql
Ejecuta el siguiente comando
sqlcmd -S ''your server name'' -U ''user name of server'' -P ''password of server'' -d ''db name''-i script.sql
Ejecútelo en la línea de comandos con osql, vea aquí:
http://metrix.fcny.org/wiki/display/dev/How+to+execute+a+.SQL+script+using+OSQL
Estoy usando MSSQL Express 2014 y ninguna de las soluciones funcionó para mí. Todos ellos simplemente se estrellaron SQL. Como solo necesitaba ejecutar una secuencia de comandos única con muchas instrucciones de inserción simples, me las arreglé escribiendo una pequeña aplicación de consola como último recurso:
class Program
{
static void Main(string[] args)
{
RunScript();
}
private static void RunScript()
{
My_DataEntities db = new My_DataEntities();
string line;
System.IO.StreamReader file =
new System.IO.StreamReader("c://ukpostcodesmssql.sql");
while ((line = file.ReadLine()) != null)
{
db.Database.ExecuteSqlCommand(line);
}
file.Close();
}
}
Puedes usar esta herramienta también. Es realmente útil.
Tu pregunta es bastante similar a esta.
Puede guardar su archivo / script como .txt o .sql y ejecutarlo desde Sql Server Management Studio (creo que el menú es Abrir / Consultar, luego simplemente ejecutar la consulta en la interfaz de SSMS). Es posible que deba actualizar la primera línea, indicando la base de datos que se creará o seleccionará en su máquina local.
Si tiene que hacer esta transferencia de datos muy a menudo, podría ir a la replicación. Dependiendo de sus necesidades, la replicación de instantáneas podría estar bien. Si tiene que sincronizar los datos entre sus dos servidores, podría optar por un modelo más complejo, como la replicación de mezcla.
EDITAR: No me di cuenta de que tenía problemas con el SSMS vinculado al tamaño del archivo. Luego puede ir a la línea de comandos, como lo proponen otros, la replicación de instantáneas (publicar en su servidor principal, suscribirse a su servidor local, replicar, luego cancelar la suscripción) o incluso hacer una copia de seguridad / restaurar
Tuve exactamente el mismo problema y había estado luchando por un tiempo y finalmente encontré la solución que es establecer -a
parámetro en el sqlcmd
para cambiar su tamaño de paquete predeterminado:
sqlcmd -S [servername] -d [databasename] -i [scriptfilename] -a 32767
Espero que esto te ayude!
sqlcmd -u UserName -s <ServerName/InstanceName> -i U:/<Path>/script.sql
Desde el símbolo del sistema, inicie sqlcmd
:
sqlcmd -S <server> -i C:/<your file here>.sql
Simplemente reemplace <server>
con la ubicación de su cuadro de SQL y <your file here>
con el nombre de su script. No lo olvides, si estás usando una instancia de SQL, la sintaxis es:
sqlcmd -S <server>/instance.
Aquí está la lista de todos los argumentos que puede pasar sqlcmd:
Sqlcmd [-U login id] [-P password]
[-S server] [-H hostname] [-E trusted connection]
[-d use database name] [-l login timeout] [-t query timeout]
[-h headers] [-s colseparator] [-w screen width]
[-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]
[-c cmdend] [-L[c] list servers[clean output]]
[-q "cmdline query"] [-Q "cmdline query" and exit]
[-m errorlevel] [-V severitylevel] [-W remove trailing spaces]
[-u unicode output] [-r[0|1] msgs to stderr]
[-i inputfile] [-o outputfile] [-z new password]
[-f | i:[,o:]] [-Z new password and exit]
[-k[1|2] remove[replace] control characters]
[-y variable length type display width]
[-Y fixed length type display width]
[-p[1] print statistics[colon format]]
[-R use client regional setting]
[-b On error batch abort]
[-v var = "value"...] [-A dedicated admin connection]
[-X[1] disable commands, startup script, environment variables [and exit]]
[-x disable variable substitution]
[-? show syntax summary]