我发现为了提高性能,我们经常需要将数据库和日志文件移动到不同的驱动器上。当要移动典型的用户数据库到一个不同的驱动器上以提高性能或拆分日志时,只要运行sp_detach 和sp_attach来执行移动即可。然而,当涉及到Master和Tempdb数据库的移动时,要使用不同的规则。本文,我们将向大家介绍移动这些数据库的过程。
移动Master数据库
过去,我曾经将master数据库的日志文件移动到一个不同的驱动器上。如果你也需要执行这个操作,按照下面的规则可以让你成功完成移动操作。首先,右击企业管理器中的SQL Server并选择属性。然后,单击开始参数如图A所示。正如我们在图A中所看到的,有以下参数出现在对话框中:
-d 是指保存master数据库数据文件的路径全名。
-e 是指保存错误日志文件的路径名。
-l 是指保存master数据库日志文件的路径全名。
现在,如果你要移动文件,那么需要移除当前入口并利用正确的路径重新创建新入口。例如,我们打算将Master数据库日志文件移动到(C:Test)。这样的话,我们将会通过突出高亮显示旧参数并选择移除来删除-l [path](如图B所示)。然后,我们将会添加下面的入口(如图C)-l (c:Testmastlog.ldf)并单击两次确定。现在,将会停止SQL Server并将mastlog.ldf移动到新位置。
注意:请务必确保将mastlog.ldf移动到在开始参数中配置的位置。如果移动到了一个未在开始参数中指明的位置,SQL Server将不能启动。
最后,开启SQL Server,你已经成功地移动了Master数据库,如图D所示。
移动Tempdb
为了移动tempdb数据库,需要打开查询分析器并运行下面的查询:
Alter database tempdb modify file (name = tempdev, filename = ‘E:Sqldata empdb.mdf’)
go
Alter database tempdb modify file (name = templog, filename = ‘E:Sqldata emplog.ldf’)
Go
要指定的filename=参数取决于要将Tempdb移动到何处。我们将templog移动到(c:est)如图E所示。运行完查询后,重起SQL Server删除旧文件。
移动MSDB数据库
移动MSDB和Model数据库,按照下面的步骤进行。首先,右击SQL-Server名并单击属性。在通用选项卡中,选择你的开始参数。然后,输入参数-T3608。单击确定,停止并重起SQL Server。重起之后,分离数据库并将它们移动到合适的位置。
无论何时,当你的驱动器空间变得紧张并需要移动你的系统数据库文件到不同的驱动器上时,按照本文介绍的这些简单操作步骤执行,你将会高效的移动数据库并保证完整性。