我正在使用SQL Server 2012,我有一个脚本来更新数据库,该脚本大小约为270 MB,包含大约22,000,000行。
错误:
错误消息:System.OutOfMemoryException
此外,
我尝试了Transact-SQL命令查询方法,但在特定行中给出了错误消息。
Sqlcmd:错误:文件'database.sql'中第709918行的语法错误。
但是没有语法错误。
请提供任何解决方案。
答案 0 :(得分:1)
对于SQL Management Studio来说,这已经很大了,特别是如果脚本包含长行和任何太复杂的东西。
你最好的选择可能是:
@receiver(pre_save, sender=Variation)
def pre_save_variation(sender, instance, **kwargs):
if not instance.price:
if instance.color == 'black':
instance.price = 40000
elif instance.color == 'single':
instance.price = 50000
elif instance.color == 'multi':
instance.price = 60000
代替SQL Management Studio 不要忘记即使只是文件,你需要至少550 MiB的内存,因为Management Studio是一个.NET应用程序并使用Unicode。然后是GUI,语法分析和解析...由于脚本不是由SMSS流式传输的,与SqlCmd不同,您可能会将整个文件至少存储在内存中两次,并且您已经接近32位应用程序的限制,特别是在32位操作系统上...
答案 1 :(得分:0)