SQLServer2005/2008/2008R2下移动tempdb数据库文件的存储位置

时间:2023-01-26 04:35:28

问题:系统中的tempdb数据库一直增大,导致C盘空间报警已经快不够用了

解决方案:将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 = 'D:\SQLDATA\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'D:\SQLDATA\templog.ldf');
GO

--3、重新启动 SQL Server。

--4、验证文件更改。
SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('tempdb');

--5、删除原来位置下的tempdb.mdf和templog.ldf文件,即可腾出系统盘的磁盘空间了。