你如何导入一个大的MS SQL .sql文件?

13 浏览
0 Comments

你如何导入一个大的MS SQL .sql文件?

我使用了RedGate SQL数据比较工具,并生成了一个.sql文件,这样我就可以在本地机器上运行它。但问题是这个文件超过了300MB,意味着我无法使用复制和粘贴方式,因为剪贴板无法处理这么大的文件,而且当我尝试在SQL Server管理工具中打开该文件时,会出现文件过大的错误。\n有没有一种方法可以运行这个大的.sql文件呢?该文件主要包含了两个新表的数据。

0
0 Comments

问题的出现的原因:

用户使用了BigSqlRunner工具来导入一个400 MB的SQL文件,但是工具运行了9个小时后,数据库中没有添加任何内容,同时BigSqlRunner占用了3 GB到6 GB的内存。

解决方法:

通常情况下,用户需要将SQL文件手动拆分成多个块,并手动编辑这些块,以确保SQL语句是“完整的”,然后通过批处理脚本执行。这样做非常简单,例如用户成功导入了一个2.3 GB的.sql文件。

0
0 Comments

在导入大型MS SQL .sql文件时,可能会遇到问题。解决方法是使用sqlcmd命令,并将-a参数设置为32767来更改其默认数据包大小。

以下是解决方法的示例命令:

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

另外,还可以通过在sql文件中使用"USE [DBNAME]"语句,或者使用用户名和密码连接到数据库来解决此问题。

此外,设置较大的数据包大小可以提高性能。

参考链接:

- [Microsoft文档](https://learn.microsoft.com/en-us/sql/tools/sqlcmd-utility)

- [stackoverflow上的问题](https://stackoverflow.com/q/55881713/345659)

0
0 Comments

如何导入一个大的MS SQL .sql文件?

有时候我们需要导入一个大的MS SQL .sql文件到数据库中,但是由于文件过大导致导入失败。下面是一些解决方法:

1. 从命令提示符开始运行sqlcmd:

sqlcmd -S <服务器名> -i C:\<文件名>.sql

将<服务器名>替换为你的SQL服务器的位置,<文件名>替换为你的脚本的名称。如果你使用的是SQL实例,语法如下:

sqlcmd -S <服务器名>\实例名

2. 如果你的SQL命令太长,可以将其放在一个脚本文件中,然后使用以下命令导入:

sqlcmd -S <服务器名> -i <脚本文件路径>

3. 如果你的SQL命令中包含引号,并且导入时出现错误,你可以使用以下参数来处理这个错误:

-I Enable Quoted Identifiers

4. 如果你希望将脚本文件保存在外部驱动器上,如E:驱动器,而不是C:驱动器,是完全可以的。

5. 有时候导入的文件过大会导致导入速度很慢,你可以尝试将命令提示符窗口最小化,这样可以加快导入速度。

6. 如果文件过大,超过了SQL工具的处理能力,你可以考虑将文件分割成多个较小的文件,然后逐个导入。

7. 如果你的文件实在太大无法导入,你可以考虑使用其他方式来将数据导入数据库,例如使用SQL备份。

虽然导入大的MS SQL .sql文件可能会遇到一些问题,但是通过使用适当的命令和工具,并采取一些额外的措施,你可以成功地将文件导入到数据库中。

0