【问题标题】:Loading data into a temp table? [duplicate]将数据加载到临时表中? [复制]
【发布时间】:2014-02-13 00:32:17
【问题描述】:

我打算从位于不同数据库中的多个临时表 (t_source) 加载数据 和服务器使用 C# 代码和 SQL 服务器放入一个临时表 (t_main)。之后,我想要 将 t_main 的数据写入文本文件。

我的问题是,这会导致 SQL Server 内存不足(因为它将存储 t_main)吗?我可以在 Sql server 2005 或 2008 数据库的临时表中存储的最大数据量是多少?

【问题讨论】:

  • tempdb 所在的磁盘驱动器有多大?
  • @AaronBertrand - 我不确定。但通常,可用空间为 10-20GB。

标签: c# sql sql-server sql-server-2008 sql-server-2005


【解决方案1】:

在 SQL Server 中,临时表与普通表具有相同的存储限制。

http://msdn.microsoft.com/en-us/library/ms190768.aspx

【讨论】:

    【解决方案2】:

    表大小(静态或临时)仅受可用存储空间的限制。它们不存储在内存中。

    【讨论】:

    • 那么,为了避免磁盘内存不足错误,一次用一小部分数据集填充临时表?
    • "disk out of memory" 令人困惑 - 您是在说 disk space 还是 memory 耗尽?
    • 是的,这就是我的意思,因为当 sql server 需要更多内存时,它会将行分页到硬盘,对吧?
    • 我不确定我是否理解您的问题 - 您的存储受到磁盘空间的限制,而不是物理(或虚拟)内存 - 系统会在必要时换出到磁盘,但这不会 限制你可以存储多少。
    • @Trojan.ZBOT 如果您的系统只有 4 GB 的 RAM,您是否认为您只能在 tempdb 中存储 4 GB 的数据?内存存储。
    猜你喜欢
    • 1970-01-01
    • 2016-08-17
    • 2013-03-29
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多