我使用RedGate SQL数据比较并生成了一个. SQL文件,这样我就可以在我的本地机器上运行它。但问题是文件超过300mb,这意味着我不能做复制和粘贴,因为剪贴板将无法处理它,当我尝试在SQL Server Management Studio中打开文件时,我得到一个关于文件太大的错误。

有没有办法运行一个大的。sql文件?该文件主要包含两个新表的数据。


当前回答

我使用MSSQL Express 2014,没有一个解决方案为我工作。它们都让SQL崩溃了。因为我只需要运行带有许多简单插入语句的一次性脚本,所以我通过编写一个小小的控制台应用程序作为最后的手段:

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();
    }
}

其他回答

您也可以使用这个工具。它真的很有用。

BigSqlRunner

注意:断链接,所以已经更新了它。

我有完全相同的问题,一直在斗争了一段时间,最后找到了解决方案,即设置一个参数sqlcmd,以改变它的默认数据包大小:

sqlcmd -S [servername] -d [databasename] -i [scriptfilename] -a 32767

用osql在命令行运行它,看这里:

http://metrix.fcny.org/wiki/display/dev/How+to+execute+a+.SQL+script+using+OSQL

希望这对你有帮助!

sqlcmd -u UserName -s <ServerName\InstanceName> -i U:\<Path>\script.sql

运行脚本文件

打开命令提示窗口。

在命令提示符窗口中输入:sqlcmd -S <ServerName\InstanceName> -i C:\yourScript.sql

按回车。