我正在数据库上执行 SQL 查询。我的 D 盘上安装了 SQL Server 2008,有 55 GB 的可用空间。
我还有 C 盘,里面有大约 150 MB 的可用空间(现在)。
在相当大的表(16 GB)上执行该查询时出现错误:
执行批处理时出错。错误消息为:磁盘空间不足。
我想知道是否有可能让 SQL Server 使用 D 盘而不是 C 盘
或者我正在做的事情可能还存在其他问题?
感谢帮助
答案1
这可能是日志记录问题。您可以将日志文件移至其他驱动器并使用较低级别的日志记录。
答案2
这可能是 TEMPDB,即 SQL Server 的系统数据库之一。安装程序会在默认数据库位置创建它。
本文讨论移动 tempdb。
同样,您可以将 D: 上的其他(可扩展)文件添加到 tempdb 数据库的主文件组,然后将默认文件设置为固定大小(最终刷新,然后删除它们)。
答案3
您是否使用 SQL 服务器上的客户端应用程序(如 SSMS)运行查询?如果是这样,则可能使用 C 驱动器存储输出以供显示,尤其是当您将输出运行到网格时。尝试使用 SQLCMD 命令行运行查询。