SQL Server 2005 & 2008 master与msdb数据库的备份与恢复
master与msdb数据库的备份与普通数据库一样,本文主要描述master与msdb数据库的恢复的一些个人积累。
恢复master与msdb数据库关键在于以单用户模式启动,其它并没有太大的区别。
恢复master数据库
方法一:(操作步骤)
1停止MSSQLSERVER服务
2命令行输入:
net start "SQL Server (MSSQLSERVER)" /m
正常情况下显示如下信息:
SQL Server (MSSQLSERVER) 服务正在启动 ..
SQL Server (MSSQLSERVER) 服务已经启动成功。
3命令行输入:
sqlcmd
1>USE master;
2>GO
此时显示:
已将数据库上下文更改为 'master'。
1>RESTORE DATABASE master FROM DISK='数据库备份文件路径';
2>GO
如果恢复成功,显示如下信息:
已为数据库 'master',文件 'master' (位于文件 1 上)处理了 376 页。
已为数据库 'master',文件 'mastlog' (位于文件 1 上)处理了 3 页。
已成功地还原了 master 数据库。正在关闭 SQL Server。
SQL Server 正在终止此进程。
失败则显示:
消息 3154,级别 16,状态 4,服务器 HC,第 1 行
备份集中的数据库备份与现有的 'master' 数据库不同。
消息 3013,级别 16,状态 1,服务器 HC,第 1 行
RESTORE DATABASE 正在异常终止。
此时需要在恢复语句后面加上:WITH REPLACE。如:
1>RESTORE DATABASE master FROM DISK=数据库备份文件路径' WITH REPLACE;
2>GO
4重启MSSQLSERVER服务
方法二:(与方法一差不多)
1打开“SQL Server 配置管理器”,单击“SQL Server 服务”
2在右窗格中,右键单击“SQL Server (<实例名>)”,再单击“属性”
3在“高级”选项卡的“启动参数”框中,键入以分号“;”分隔的参数。(例如,若要以单用户模式启动,在现有启动选项之前插入“-m;”,单击“确定”,此时,弹出警告框,单击“确定”即可)
4重新启动数据库引擎
5(同方法一中步骤3)
6成功恢复master数据库后,若要以正常的多用户模式重新启动服务器实例,必须先从“启动参数”框中删除刚才输入的“-m;”,然后重新启动SQL Server服务
恢复msdb数据库
在msdb数据库里存储较多的是SQL Agent里的内容,如作业、调度、操作员、警告等信息,同时还存放SQL Server Integration Service(SSIS)相关信息。其恢复过程与普通数据库恢复过程大同小异,不同点就是需要在单用户模式启动下进行恢复。
1打开SQL Server Management Studio,连接到相关的数据库服务器
2右键单击msdb数据库,单击“属性”打开数据库属性窗口,单击“选项”,在右边的“状态”/“限制访问”指定“SINGLE_USER”,然后单击“确定”即以单用户模式启动,此时msdb显示为“msdb(单个用户)”
3(同恢复普通数据库一样...)
4恢复完毕后,别忘了将“限制访问”改加以前的状态“MULTI_USER”