SQL Server – 运行大型脚本文件
我有一个开发服务器上的数据库表,现在完全填充后,我设置它运行一个包含140万行的CSV文件的导入例程。
我在表上运行了数据库发布向导,现在我的本地机器上有一个286MB的SQL脚本。 问题是,我不知道如何运行它。 如果我将它加载到SQL Server Management Studio Express中,我会看到一个警告窗口,提示“操作无法完成”。
关于如何让这个SQL脚本运行的任何想法?
在单个事务中运行一些大事情并不是一个好主意。 因此,我build议将文件拆分成更小,更易于pipe理的块。
另一个select是查看其他一些直接导入CSV数据的方法。
使用sqlcmd工具来执行文件..
sqlcmd -S myServer\instanceName -i C:\myScript.sql
CodePlex上的这个工具( Big SQL Script File Runner )将运行任何大小的脚本文件,包含日志和GUI。
添加到Gulzar Nazim的答案:如果仍然失败,请尝试使用选项-f
指定SQL文件的代码页 :
sqlcmd -S myServer\instanceName -d databaseName -i C:\myScript.sql -f 65001
我试图从SQLite中导入.dump文件(默认情况下是UTF-8),而sqlcmd在遇到第一个特殊字符后一直抛出一个错误。 -f 65001
为我修好了。
为什么不直接使用DTS直接导入CSV文件?