首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SQL Server上执行大型SQL文件?

如何在SQL Server上执行大型SQL文件?
EN

Stack Overflow用户
提问于 2010-05-06 04:10:11
回答 3查看 5.7K关注 0票数 3

我有大约50个T-SQL文件,有些是30MB,有些是700MB。我想手动执行它们,但如果文件大于10MB,它会在SQL Server Management Studio上抛出内存不足异常。

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-06 04:42:14

如果您有这么多数据,那么将这些数据放在CSV文件中,然后将其大容量导入SQL Server,不是更容易、更智能吗?

查看BULK INSERT命令-允许您快速有效地将大型数据卷加载到SQL Server中-比如此巨大的SQL文件要好得多!

该命令类似于:

代码语言:javascript
复制
BULK INSERT dbo.YourTableName
   FROM 'yourfilename.csv'
   WITH ( FIELDTERMINATOR =';',
          ROWTERMINATOR =' |\n' )

或者您可能需要导入的任何格式。

票数 5
EN

Stack Overflow用户

发布于 2010-05-06 04:13:00

您可以尝试使用sqlcmd命令行工具,该工具可能具有不同的内存限制。http://msdn.microsoft.com/en-us/library/ms162773.aspx

使用示例:

代码语言:javascript
复制
sqlcmd -U userName -P myPassword -S MYPCNAME\SQLEXPRESS -i myCommands.tsql
票数 12
EN

Stack Overflow用户

发布于 2010-05-06 13:33:05

也许这太明显了,你考虑写一个程序循环遍历文件并为每一行调用SqlCommand.ExecuteNonQuery()吗?这几乎是微不足道的。

不太明显的优势:

  • 您可以监视提要的进度(这将需要一些时间)
  • 您可以限制它(以防您不想淹没服务器)
  • 您可以添加一些错误处理,以防输入文件出现问题
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2776426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档