我有一个将tempdb拆分为8个文件的数据库。有3个mdf和5个ndf文件。
我需要通过备份和恢复来移动这个数据库。我需要确保恢复这些文件吗?如果我不这样做,恢复会重新创建tempdb文件吗?如果是这样,它只会重新创建一个,还是会保持当前配置?
感谢
答案 0 :(得分:3)
您无法通过备份和还原移动tempDB,您应该使用ALTER DATABASE。
通过以下查询获取文件名称:
SELECT name, physical_name AS CurrentLocation
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');
GO
然后使用类似于以下的查询更改其位置(使用第一个查询的输出作为参考)
USE master;
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'F:\SQLLog\templog.ldf');
GO
重新启动SQL服务器,新文件将在新位置重新创建,然后您可以删除旧文件。