您的位置:首页 > 数据库

迁移SQL 2005 系统数据库

2011-08-15 10:28 381 查看
移动master数据库

master 数据库记录 SQL Server 系统的所有系统级信息。这包括实例范围的元数据(例如登录帐户)、端点、链接服务器和系统配置设置。master 数据库还记录所有其他数据库是否存在以及这些数据库文件的位置。另外,master 还记录 SQL Server 的初始化信息。因此,如果 master 数据库不可用,则 SQL Server 无法启动。在 SQL Server 2005 中,系统对象不再存储在 master 数据库中,而是存储在 Resource 数据库中。

1.启动到单用户模式

NET START MSSQLSERVER /f /T3608

修改启动参数(配置管理器-高级标签-启动参数)

-dC:\new\master.mdf;

-eC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG;

-lC:\new\mastlog.ldf;

-eC:\new\ERRORLOG

2.移动master数据库

ALTER DATABASE master MODIFY FILE( NAME = master , FILENAME = 'C:\new\master.mdf')

ALTER DATABASE master MODIFY FILE( NAME = mastlog , FILENAME = 'C:\new\masterlog.ldf')

3.移动资源数据库

ALTER DATABASE mssqlsystemresource MODIFY FILE (NAME=data, FILENAME='C:\new\mssqlsystemresource.mdf')

ALTER DATABASE mssqlsystemresource MODIFY FILE (NAME=log, FILENAME='C:\new\mssqlsystemresource.ldf')

4.停止SQL Server

5.移动数据库文件到目标

6.启动SQL Server

7.验证

SELECT name, physical_name AS CurrentLocation, state_desc

FROM sys.master_files

WHERE database_id = DB_ID('master');

移动model数据库

model 数据库用作在 SQL Server 实例上创建的所有数据库的模板。因为每次启动 SQL Server 时都会创建 tempdb,所以 model 数据库必须始终存在于 SQL Server 系统中。

1.移动路径

ALTER DATABASE model MODIFY FILE( NAME = modeldev , FILENAME = 'C:\new\model.mdf')

ALTER DATABASE model MODIFY FILE( NAME = modellog , FILENAME = 'C:\new\modellog.ldf')

移动msdb数据库

msdb 数据库由 SQL Server 代理用来计划警报和作业

1.移动路径

ALTER DATABASE msdb MODIFY FILE( NAME = msdbdata , FILENAME = 'C:\new\msdbdata.mdf')

ALTER DATABASE msdb MODIFY FILE( NAME = msdblog , FILENAME = 'C:\new\msdblog.ldf')

移动tempdb

由于每次启动 MSSQLSERVER 服务时都会重新创建 tempdb,因此不需要从物理意义上移动数据和日志文件。将在步骤 3 中重新启动服务时创建这些文件。重新启动服务后,tempdb 才继续在当前位置发挥作用。

1.确定当前位置

SELECT name, physical_name

FROM sys.master_files

WHERE database_id = DB_ID('tempdb');

GO

2.使用 ALTER DATABASE 更改每个文件的位置

ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = c:\new\tempdb.mdf');

ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'c:\new\templog.ldf');

3.停止并重新启动 SQL Server。

4.验证文件更改。

SELECT name, physical_name

FROM sys.master_files

WHERE database_id = DB_ID('tempdb');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: