![无法启动 SQL Server 服务。需要在新磁盘上创建 tempdb](https://linux22.com/image/549400/%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%20SQL%20Server%20%E6%9C%8D%E5%8A%A1%E3%80%82%E9%9C%80%E8%A6%81%E5%9C%A8%E6%96%B0%E7%A3%81%E7%9B%98%E4%B8%8A%E5%88%9B%E5%BB%BA%20tempdb.png)
我们有一台 SQL 2K 服务器,其 tempdb 被设置为与 SQL 和 OS 不同的磁盘。该磁盘有问题,我需要启动 SQL,并将 SQL 和 OS 的所有内容都指向 C 盘。此时服务无法启动,因为它正在尝试在另一个磁盘上创建 tempdb,而该磁盘不再可用。
此时,安装新磁盘并分配与旧磁盘相同的驱动器号是不可能的。
答案1
打开命令提示符,将现有文件夹“挂载”为缺少的驱动器号。例如,如果 TEMPDB曾是在 G:,然后尝试:
md d:\tempdbdisk
subst g: d:\tempdbdisk
您可能需要创建以前出现在下面的目录结构G:\在下面磁盘驱动器:\TEMPDBDISK。
答案2
您必须放置一个新磁盘并分配相同的驱动器号才能启动服务并传输文件(tempdb 和 templog)。
在这种情况下,连接到数据库后使用以下脚本:
USE master;
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = '{new location}\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = '{new location}\templog.ldf');
GO
运行上述操作后,不要忘记重新启动服务。
看这里了解详情。
答案3
我知道已经太晚了,但在线图书中有一篇文档,标题为“移动系统数据库“这可能会对你将来有用。