如何改变数据库msdb的路径!

上一篇 / 下一篇  2006-06-13 00:00:00 / 个人分类:數據庫學習

1)转移master数据库。

首先,由于 SQL Server 每次启动的时候都需要读取 master 数据库,因此我们必须在企业管理器中改变 SQL Server 启动参数中 master 数据文件和日志文件的路径。

SQL Server 属性的“常规”选项卡下面有一个叫做【启动参数】的按钮,单击后可以看到右图所示的界面。

其中,-d 用来指定 master 数据库文件的完全合法路径,而 –l用来指定 master 数据库日志文件的完全合法路径。

将这些参数修改为新的 master 数据文件和日志文件所在的路径,如:

-dE:SQLDatamaster.mdf

-lE:SQLDatamastlog.ldf

接着,停止 SQL Server 服务,将 master.mdf 文件和 mastlog.ldf 文件拷贝到新的位置,如上例中的 E:SQLData

最后,只要重新启动服务即可。

2)转移msdb数据库和model数据库。

我们同样可以使用 sp_detach_db sp_attach_db 来分离和附加这两个数据库。但是对于 msdb 数据库,首先应确保 SQL Server 代理当前没有运行,否则 sp_detach_db 存储过程将运行失败,并返回如下消息:

无法除去数据库 'msdb' ,因为它当前正在使用。

接着,必须用跟踪标记 3608 启动 SQL Server,这样它不会恢复除 master之外的任何数据库。

要添加跟踪标记 3608 作为 SQL Server 的启动参数,首先调出如前所示的“启动参数”对话框,再添加新参数 -T3608

添加跟踪标记 3608 后,停止并重新启动 SQL Server,再如下分离 msdb 或者 model 数据库:

EXEC sp_detach_db 'msdb'

GO

接着,将数据文件和日志文件移到新的位置,然后再如下重新附加 msdb 数据库或者 model 数据库:

USE master

GO

EXEC sp_attach_db @dbname = 'model',

@filename1 = 'mdf 文件新的路径名',

@filename2 = 'ldf 文件新的路径名'

GO

最后,在企业管理器中,从“启动参数”框中删除 -T3608 跟踪标记,再停止并重新启动 SQL Server

3)转移 tempdb 数据库。

对于 tempdb 数据库而言,可以直接使用 ALTER DATABASE 语句来为数据文件和日志文件指定新的存放位置,如下所示:

USE master

GO

ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME =

'E:Sqldatatempdb.mdf')

go

ALTER DATABASE tempdb MODIFY FILE(NAME = templog, FILENAME =

'E:Sqldatatemplog.ldf')

GO



TAG:

引用 删除 yy   /   2008-04-30 09:44:01
引用 删除 Guest   /   2008-04-30 09:43:42
3
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-03  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 1663
  • 日志数: 416
  • 建立时间: 2007-12-11
  • 更新时间: 2008-03-06

RSS订阅

Open Toolbar