如何修改SQL 2008的数据文件目录

在windows 2008上安装SQL 2008后,由于某些原因,需要将数据目录移动到另外一个盘。我看网上说是先分离,再移动然后再附加,不过我要移动的是系统数据库目录(master库等),所以没找到分离。

哪位大侠给指导一下,如何解决?
十分感谢!

作者: flywater   发布时间: 2011-09-02

引用:
原帖由 flywater 于 2011-9-2 14:50 发表
在windows 2008上安装SQL 2008后,由于某些原因,需要将数据目录移动到另外一个盘。我看网上说是先分离,再移动然后再附加,不过我要移动的是系统数据库目录(master库等),所以没找到分离。

哪位大侠给指导一下,如何解决?
十分感 ...
后来我用下面的方法试了:
use master;
go
alter database master
modify file (name = master,filename='J:\data\master.mdf');
go

alter database master
modify file (name = mastlog,filename='J:\data\mastlog.ldf');
go
alter database tempdb
modify file (name = tempdev,filename='J:\data\tempdb.mdf');
go

alter database tempdb
modify file (name = templog,filename='J:\data\templog.ldf');
go
alter database msdb
modify file (name = msdbData,filename='J:\data\MSDBData.mdf');
go

alter database msdb
modify file (name = MSDBlog,filename='J:\data\MSDBLog.ldf');
go
alter database model
modify file (name = modeldev,filename='J:\data\model.mdf');
go

alter database model
modify file (name = modellog,filename='J:\data\modellog.ldf');
go

msdb、model、tempdb都可以移到我定义的目录,数据库可以启动,起来以后到数据库属性-文件看到的路径就是修改后的路径。但是master的语句也执行成功了,执行结果如下:
文件 'master' 在系统目录中已修改。新路径将在数据库下次启动时使用。
文件 'mastlog' 在系统目录中已修改。新路径将在数据库下次启动时使用。
但是将master的2个文件移动到j:\data目录下,数据库启动失败,从日志看,还是找原来的启动路径。

有没有人知道为什么?
谢谢!

作者: flywater   发布时间: 2011-09-02