1

我有一个将 tempdb 拆分为 8 个文件的数据库。有 3 个 mdf 和 5 个 ndf 文件。

我需要通过备份和恢复来移动这个数据库。我需要确保恢复这些文件吗?如果我不这样做,恢复是否会重新创建 tempdb 文件?如果是这样,它只会重新创建一个,还是会保持当前配置?

谢谢

4

1 回答 1

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 服务器,新文件将在新位置重新创建,然后您可以删除旧文件。

于 2013-07-26T13:12:40.590 回答