我们有一个SQL 2K服务器,将tempdb设置为一个独立的磁盘,而不是SQL和OS。 该磁盘有一个问题,我需要启动SQL与SQL和操作系统指向C驱动器的一切。 此时服务将无法启动,因为它正在创build另一个磁盘上的tempdb,不再可用。
挂载一个新磁盘并分配与旧磁盘相同的驱动器盘符在这里不是一个选项。
打开一个命令提示符,并“挂载”一个现有文件夹作为缺less驱动器号。 例如,如果TEMPDB在G:上,则尝试:
md d:\tempdbdisk subst g: d:\tempdbdisk
您可能需要创build用于在D:\ TEMPDBDISK下的G:\下显示的目录结构。
您将不得不放置一个新的磁盘,并分配相同的驱动器号来启动服务并传输文件(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
运行完上述之后,请不要忘记重新启动服务。
看这里的细节。
我知道现在已经太晚了,但是联机丛书中有一个名为“ 移动系统数据库 ”的文档,将来可能对您有用。