2010-01-18 57 views
1

当我尝试生成包含500000条记录的表的脚本时我收到一个错误:类型'System.OutOfMemoryException'的异常被抛出。任何人都可以建议一个解决方案来备份表格数据来清除这个错误。异常'System.OutOfMemoryException'

+1

你的SQL Server Management Studio或其他应用程序中运行查询时收到此错误? – Kane 2010-01-18 12:29:05

+1

您生成的是哪种脚本--DDL(即CREATE TABLE ...)或DML(即INSERT INTO ...)? – 2010-01-18 12:30:44

+0

实际上我试图采取备份的表,因为它有500000记录,但即时通讯这个异常,这避免了我采取脚本。我需要任何帮助这个.. – Innova 2010-01-18 12:33:41

回答

0

逼真地生成一个包含500,000个插入的脚本不会特别有效(假设你不会用完RAM)。如果您需要备份数据,我会考虑从文件系统备份数据库文件本身,或者使用类似SSIS的方式导出到文件。两者都应该工作得很好。

0

根据您的描述,似乎没有足够的内存,并且我注意到您使用的是32位Windows Vista,32位机器可以直接处理仅4 GB的内存,并且默认情况下为Windows自己保留最高2GB的地址空间供自己使用,这使得任何应用程序的VAS(虚拟地址空间)的最大大小只剩下2GB。

但是,我们可以使3GB开关,使应用程序具有高达3GB的增值业务,这里是步骤适用于Windows Vista:

右键单击附件程序组在开始菜单中的命令提示符。以管理员身份运行。 在命令提示符处输入“bcdedit/set IncreaseUserVa 3072” 重新启动计算机。

请同时参阅此线程: http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/f3736f72-7953-4578-b294-044bb63cd483