roy*_*oyv 14 sql-server tempdb
我对 SQL Server 2012 还很陌生,如果有人可以提供帮助,我将不胜感激。我已将大型数据库的副本恢复到 SQL Server 2012,并尝试对其运行一些简单的查询。
我正在尝试对数据库136898115行表运行 SELECT 查询。这个SELECT查询只有一个简单的WHERE子句。每次运行这个查询都会失败,因为系统盘(安装Windows的分区- C:\)空间不足(这个分区只有6GB可用空间),我不明白为什么。我将 tempdb 定义为位于不同驱动器上,该驱动器具有超过 14 TB 的可用空间。当然,我的数据库也位于不同的驱动器上。
是什么让我的系统分区空间不足?是页面文件吗?
小智 8
我刚刚遇到了同样的问题。阅读上述答案后,我发现了以下内容。
工具 | 选项不是答案。我的设置为 Y: 驱动器,但我看到我的查询运行并且 C: 驱动器上的空间从 2.9GB 下降到 5.04MB(在我终止查询之前)。
所以我认为它可能是缓存结果(因为它们非常大,返回的每一行都包含一大块 XML)到 Temp 目录,这是 Jon 所说的,但他不确定你会如何改变它。
我所做的更改临时文件写入位置的操作是打开我的环境变量并编辑用户变量 TEMP 和 TMP(均设置为 C:\Temp)以写入 Z:\Temp。
我可以确认在此更改后,我看到查询在我的 Z:\Temp 目录中创建了一个非常大的文件。