sql server 临时库文件太大 迁移tempdb数据库

Posted ysy-love

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 临时库文件太大 迁移tempdb数据库相关的知识,希望对你有一定的参考价值。

由于装SQL Server时默认装在系统盘,使用一段时间后,tempdb数据库占了68G,导致整个C盘爆满彻底解决办法就是迁移tempdb物理文件,移至其他大空间磁盘上。

将 tempdb 从其在磁盘上的当前位置移动到其他磁盘位置。由于每次启动 MSSQLSERVER 服务时都会重新创建 tempdb,因此不需要从物理意义上移动数据和日志文件。

迁移步骤:

1 确定 tempdb 数据库的逻辑文件名称以及在磁盘上的当前位置。
SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID(‘tempdb‘);
GO
2使用 ALTER DATABASE 更改每个文件的位置
USE master;
GO
ALTER DATABASE tempdb 
MODIFY FILE (NAME = tempdev, FILENAME = ‘E:SQLData empdb.mdf‘);
GO
ALTER DATABASE tempdb 
MODIFY FILE (NAME = templog, FILENAME = ‘E:SQLData emplog.ldf‘);
GO
3停止并重新启动 SQL Server。

转自:ITCTO-http://www.itcto.com.cn/post/2016/04/16/sql-server-tempdb1641620330.aspx

完成上述步骤后:临时库只是赋值了一份临时库的架构文件,并且放到目标地址;

然后此时就可以吧原来的文件剪切到另外的闲置空间大的磁盘下。至此系统盘空间得以释放。

 

以上是关于sql server 临时库文件太大 迁移tempdb数据库的主要内容,如果未能解决你的问题,请参考以下文章

SQL SERVER2008里面sql语句删除临时表失败

使用临时表时 SQL Server 显示“无效的对象名称 '#temp'”

临时文件夹迁移 temp位置移动

在sqlserver中临时TMP表有啥作用?里面储存的都是啥数据?

SQL Server删除库中所有临时表或用户表

SQL Server 存储过程创建临时表并插入值