我有大约50个T-SQL文件,有些是30MB,有些是700MB。我想手动执行它们,但如果文件大于10MB,它会在SQL Server Management Studio上抛出内存不足异常。
有什么想法吗?
发布于 2010-05-06 04:42:14
如果您有这么多数据,那么将这些数据放在CSV文件中,然后将其大容量导入SQL Server,不是更容易、更智能吗?
查看BULK INSERT命令-允许您快速有效地将大型数据卷加载到SQL Server中-比如此巨大的SQL文件要好得多!
该命令类似于:
BULK INSERT dbo.YourTableName
FROM 'yourfilename.csv'
WITH ( FIELDTERMINATOR =';',
ROWTERMINATOR =' |\n' )或者您可能需要导入的任何格式。
发布于 2010-05-06 04:13:00
您可以尝试使用sqlcmd命令行工具,该工具可能具有不同的内存限制。http://msdn.microsoft.com/en-us/library/ms162773.aspx
使用示例:
sqlcmd -U userName -P myPassword -S MYPCNAME\SQLEXPRESS -i myCommands.tsql发布于 2010-05-06 13:33:05
也许这太明显了,你考虑写一个程序循环遍历文件并为每一行调用SqlCommand.ExecuteNonQuery()吗?这几乎是微不足道的。
不太明显的优势:
https://stackoverflow.com/questions/2776426
复制相似问题