How do you import a large MS SQL .sql file?

前端 未结 11 1253
心在旅途
心在旅途 2020-11-28 00:20

I use RedGate SQL data compare and generated a .sql file, so I could run it on my local machine. But the problem is that the file is over 300mb, which means I can\'t do copy

相关标签:
11条回答
  • 2020-11-28 01:02

    From the command prompt, start up sqlcmd:

    sqlcmd -S <server> -i C:\<your file here>.sql 
    

    Just replace <server> with the location of your SQL box and <your file here> with the name of your script. Don't forget, if you're using a SQL instance the syntax is:

    sqlcmd -S <server>\instance.
    

    Here is the list of all arguments you can pass 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] 
    
    0 讨论(0)
  • 2020-11-28 01:02

    The file basically contain data for two new tables.

    Then you may find it simpler to just DTS (or SSIS, if this is SQL Server 2005+) the data over, if the two servers are on the same network.

    If the two servers are not on the same network, you can backup the source database and restore it to a new database on the destination server. Then you can use DTS/SSIS, or even a simple INSERT INTO SELECT, to transfer the two tables to the destination database.

    0 讨论(0)
  • 2020-11-28 01:04

    You can use this tool as well. It is really useful.

    BigSqlRunner

    0 讨论(0)
  • 2020-11-28 01:06

    I had exactly the same issue and had been struggling for a while then finally found the solution which is to set -a parameter to the sqlcmd in order to change its default packet size:

    sqlcmd -S [servername] -d [databasename] -i [scriptfilename] -a 32767
    
    0 讨论(0)
  • 2020-11-28 01:08

    I have encountered the same problem and invested a whole day to find the way out but this is resolved by making the copy of .sql file and change the extension to .txt file and open the .txt file into chrome browser. I have seen the magic and file is opened in a browser.

    Thanks and Best Regards,

    0 讨论(0)
提交回复
热议问题