迁移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');
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');
相关文章推荐
- sql 2000以及2005以上获取数据库中所有的表(不包括系统表)
- 困惑:uml建模后与sql 2005之间的衔接 ——全面分析:对象数据库系统VS 关系数据库 ——转归纳载
- SQL 2005 附加数据库出错:系统错误5(拒绝访问)
- SQL 2005 X86数据库迁移升级到SQL 2008 R2参考
- 无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)
- [通过制定SQL计划和系统计划实现]SQL Server 2005数据库定期备份和删除历史备份记录
- 数据库从SQL2000迁移到SQL2005时,无法查看关系图的解决办法
- 无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)
- 数据库迁移:从SQL2005到SQL2008
- SQL 2005迁移数据库后出现错误15023:当前数据库中已存在用户或角色
- 无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)
- 通过制定SQL计划和系统计划实现]SQL Server 2005数据库定期备份和删除历史备份记录
- 数据库迁移:从SQL2005到SQL2008
- 数据库迁移:从SQL2005到SQL2008
- 数据库迁移:从SQL2005到SQL2008
- 数据库从sql 2000迁移到SQL 2005遇到的问题
- 无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)
- 无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)
- 数据库迁移:从SQL2005到SQL2008
- 无法在SQL 2005系统数据库中执行的T-SQL语句(XML处理)