sql 2005 在客户机连接到服务器,查询服务器上的数据,当查询数据量大的时候,发现c盘空间陡然变小了。数据量小,一般是看不出的。谁能解释一下这个。谢谢。

解决方案 »

  1.   

    http://blog.csdn.net/HEROWANG/archive/2009/05/05/4150524.aspx
      

  2.   

    可能是临时文件,建议安装数据库时,不要安装在C盘里,应安装在D、E、F等。
      

  3.   

    查询返回的结果集一般会在内存中, 如果数据量超过预设的内存大小后, 会保存到Tmp临时文件中, 环境变量把临时文件的路径指向C盘, 所以C盘的容量减少. 如果预设的内存容量还包括的虚拟内存, C盘也会减少的
      

  4.   

    临时表变大了,可以吧tempdb数据库放在其他盘吗
      

  5.   

    --参考
    如果sql server 的tempdb数据库过大,则需要将tempdev和templog转移到其他的分区.通常的分离/copy/附加是行不通的,需要通过命令:--移动主数据文件ALTER DATABASE tempdb MODIFY FILE( NAME='tempdev',FILENAME ='d:\tempdb.mdf') ALTER DATABASE tempdb MODIFY FILE( NAME='templog',FILENAME ='d:\templog.ldf')对TEMPDB进行收缩,没有实际操作过,但从理论上讲不会有什么效果;重启SQL至少可以解决一次问题,因为每次SQL启动,都会重建TEMPDB数据库。TEMPDB数据库主要用于用户明确创建的临时表、用于保持查询处理和排序期间有SQL创建的中间结果的表、还有静态游标的具体表示和键集游标的键等等。 TEMPDB的事务日志文件不会太大,因为虽然TEMPDB数据库的所有操作都会被记录,但是只包含足够用来回滚事务的信息,而不是用来恢复或者重做。