最近在做数据库的时候,发现经常由于tempdb太大而造成的磁盘空间不足的问题,为了解决这个问题我们使用的一个解决办法是把tempdb移到一个新的位置.
下面是具体的操作步骤;
1、检查tempdb的逻辑名字和它的存在位置。可以使用下面语句:
SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('tempdb');
FROM sys.master_files
WHERE database_id = DB_ID('tempdb');
2、暂停数据库服务.
3、拷贝原来tempdb的文件到新的位置(原来文件位置可以通过上述查询得到)。
3、拷贝完毕后,启动数据库服务。
4、执行如下命令:
USE master;
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'E:\tempdb\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'E:\tempdb\templog.ldf');
GO
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'E:\tempdb\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'E:\tempdb\templog.ldf');
GO
在这里,name=tempdev 和templog是tempdb的逻辑名字,FileName='E:\temdb\tempdb.mdf'是tempdb的新位置.
5、最后检查tempdb移动是否成功。
SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('tempdb');
FROM sys.master_files
WHERE database_id = DB_ID('tempdb');