SQL Server 2008 master与msdb数据库的备份与恢复

   sql server 2005 & 2008 master与msdb数据库的备份与恢复,master与msdb数据库的备份与普通数据库一样,本文主要描述master与msdb数据库的恢复的一些个人积累。

  恢复master与msdb数据库关键在于以单用户模式启动,其它并没有太大的区别。

  由于系统数据库对Sql Server来说尤其重要,为了确保SQL SERVER系统的正常运行,除了日常备份用户的数据库之外,我们还需要备份系统数据库,如对Master,Model,Msdb(TempDB不需备份)进行完整备份

  1、还原Master数据库

  如果系统配置丢失或Master出现问题,可以进入单用户模式进行还原;如果出现下列情况,必须重新生成损坏的 master 数据库:

  A. master 数据库的当前备份不可用。

  B. 存在 master 数据库备份,但由于 Microsoft SQL Server 实例无法启动,因此无法还原该备份。

  1、重新生成 master 数据库:

  注意:

  在 SQL Server 2005 中已废止 Rebuildm.exe 程序。若要重新生成 master 数据库,请使用 setup.exe。

  1、 Start /wait setup.exe /qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=

  例:start /wait e:“setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@

  注:INSTANCENAME:指定实例名,默认实例则用mssqlserver表示

  REINSTALL:指定引擎

  SAPWD:强密码

  Setup.exe:指定光盘1中的根目录下的文件

  /qn 开关用于取消所有安装程序对话框和错误消息。如果指定 /qn 开关,则所有安装程序消息(包括错误消息)都将写入安装程序日志文件。有关日志文件的详细信息,请参阅如何查看 SQL Server 2005 安装日志文件。

  指定 /qb 开关将显示基本的安装程序对话框。还会显示错误消息。

  2、 还原Master备份(在恢复master的备份时要注意:必须在单用户(single user)模式下进行 ) a.进入单用户模式的方法:

  1.在命令行模式下输入sqlservr -c -f -m或者输入sqlservr -m

  其中:-c 可以缩短启动时间,SQL Server 不作为Windows NT的服务启动

  -f 用最小配置启动SQL Server

  -m 单用户模式启动SQL Server

  2.系统默认没有设置PATH,先进入CMD,进入“C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn”,执行SQLSERVR.EXE –M

  打开SSMS工具,先断开连接,再新建查询,执行以下命名还原

  USE master

  GO

  RESTORE DATABASE master

  FROM disk=‘c:“master.bak‘

  GO

  开始实验了~~~

  MASTER重新生成

  为了模拟MASTER数据库坏了,我们就删除MASTER数据库(要停止SQL SERVER服务才能删除)在我的电脑,C:“ PROGRAM FILES“MICROSOFT SQL SERVER“MSSQL.1“MSSQL“DATE 中删除MASTER.MDF

  重新生成MASTER

  1.首先在CMD中输入

  start /wait setup.exe /qn INSTANCENAME= REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=

  其中的 SETUP.EXE为启动光盘的路径,我这里的是 E:“SETUP.EXE /QN

  我这里的为默认实例所以其中的用 MSSQLSERVER代替

  最后的为密码我设密码为abc123@!@,所以就用abc123@!@代替

  若没有返回错误,我们就可以到我的电脑中C:“ PROGRAM FILES“MICROSOFT SQL SERVER“MSSQL.1“DATE上面又有MASTER.MDF了

  接下来进入目录

  单用户模式

  启动SSMS工具,新建查询

  输入命令

  启动服务(MSSQL SERVER)

  打开SSMS

  连接到数据库后就可以发现数据库中的数据又回来了

  以下是我在命令行下搞的命令,我用记事本的方式全部复制下来了,为了不传附件,我就直接粘贴到下面了

  Microsoft Windows [版本 5.2.3790]

  (C) 版权所有 1985-2003 Microsoft Corp.

  C:“Documents and Settings“Administrator>start /wait e:“setup.exe /qn INSTANCENAME=mssqlserver REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=abc123@!@

  C:“Documents and Settings“Administrator>cd C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn

  C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn>sqlservr.exe -m

  2008-04-18 15:47:46.56 Server Authentication mode is MIXED.

  2008-04-18 15:47:46.59 Server Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86)

  Oct 14 2005 00:33:37

  Copyright (c) 1988-2005 Microsoft Corporation

  Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)

  2008-04-18 15:47:46.59 Server (c) 2005 Microsoft Corporation.

  2008-04-18 15:47:46.59 Server All rights reserved.

  2008-04-18 15:47:46.59 Server Server process ID is 3984.

  2008-04-18 15:47:46.59 Server Logging SQL Server messages in file ‘C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“LOG“ERRORLOG‘.

  2008-04-18 15:47:46.59 Server This instance of SQL Server last reported using a process ID of 764 at 2008-4-18 15:46:40 (local) 2008-4-18 7:46:40 (UTC). This is an informational message only; no user action is required.

  2008-04-18 15:47:46.60 Server Registry startup parameters:

  2008-04-18 15:47:46.60 Server -d C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“DATA“master.mdf

  2008-04-18 15:47:46.60 Server -e C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“LOG“ERRORLOG

  2008-04-18 15:47:46.60 Server -l C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“DATA“mastlog.ldf

  2008-04-18 15:47:46.62 Server Command Line Startup Parameters:

  2008-04-18 15:47:46.62 Server -m2008-04-18 15:47:46.64 服务器 SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.

  2008-04-18 15:47:46.67 服务器 Detected 1 CPUs. This is an informational message; no user action is required.

  2008-04-18 15:47:46.78 服务器 Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node. This is an informational message only. No user action is required.

  2008-04-18 15:47:46.84 服务器 Attempting to initialize Microsoft Distributed Transaction Coordinator (MS DTC). This is an informational message only. No user action is required.

  2008-04-18 15:47:47.95 服务器 Attempting to recover in-doubt distributed transactions involving Microsoft Distributed Transaction oordinator (MS DTC).

  This is an informational message only. No user action is required.

  2008-04-18 15:47:47.96 服务器 Database Mirroring Transport is disabled in the endpoint configuration.

  2008-04-18 15:47:47.96 spid5s Warning ******************

  2008-04-18 15:47:47.96 spid5s SQL Server started in single-user mode. This an informational message only. No user action is required.

  2008-04-18 15:47:47.99 spid5s Starting up database ‘master‘.

  2008-04-18 15:47:48.17 spid5s Recovery is writing a checkpoint in database ‘master‘ (1). This is an informational message only. No user action is required.

  2008-04-18 15:47:48.28 spid5s SQL Trace ID 1 was started by login "sa".

  2008-04-18 15:47:48.32 spid5s Starting up database ssqlsystemresource‘.

  2008-04-18 15:47:48.76 spid5s Server name is ‘VM01‘. This is an informational message only. No user action is required.

  2008-04-18 15:47:48.78 spid8s Starting up database ‘model‘.

  2008-04-18 15:47:49.20 服务器 A self-generated certificate was successfully loaded for encryption.

  2008-04-18 15:47:49.23 服务器 Server is listening on [ ‘any‘ 1433].

  2008-04-18 15:47:49.24 服务器 Server local connection provider is ready to accept connection on [ ““.“pipe“SQLLocal“MSSQLSERVER ].

  2008-04-18 15:47:49.24 服务器 Server local connection provider is ready to accept connection on [ ““.“pipe“sql“query ].

  2008-04-18 15:47:49.28 服务器 Server is listening on [ 127.0.0.1 1434].

  2008-04-18 15:47:49.28 服务器 Dedicated admin connection support was established for listening locally on port 1434.

  2008-04-18 15:47:49.29 服务器 The SQL Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Failure to register an SPN may cause integrated authentication to fall back to NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies.

  2008-04-18 15:47:49.31 服务器 SQL Server is now ready for client connections. This is an informational message; no user action is required.

  2008-04-18 15:47:49.40 spid5s Starting up database ‘msdb‘.

  2008-04-18 15:47:49.68 spid8s Clearing tempdb database.

  2008-04-18 15:47:49.93 spid5s Recovery of any in-doubt distributed transactions involving Microsoft Distributed Transaction Coordinator (MS DTC) has completed. This is an informational message only. No user action is required.

  2008-04-18 15:47:50.57 spid8s Starting up database ‘tempdb‘.

  2008-04-18 15:47:50.76 spid5s Recovery is complete. This is an informational message only. No user action is required.

  2008-04-18 15:56:22.34 spid51 SQL Trace was stopped due to server shutdown. Trace ID = ‘1‘. This is an informational message only; no user action is required.

  2008-04-18 15:56:22.40 服务器 The SQL Network Interface library could not deregister the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Administrator should deregister this SPN manually to avoid client authentication errors.

  C:“Program Files“Microsoft SQL Server“MSSQL.1“MSSQL“Binn>

  打开SSMS工具,先断开连接,再新建查询,执行以下命名还原

  USE master

  GO

  RESTORE DATABASE master

  FROM disk=‘C:“Program Files“Microsoft SQL Server“MSSQL.1 “MSSQL“Backup“master.bak‘

  GO

  数据库中的显示的消息应为:

  已为数据库 ‘master‘,文件 ‘master‘ (位于文件 1 上)处理了 376 页。

  已为数据库 ‘master‘,文件 ‘mastlog‘ (位于文件 1 上)处理了 6 页。

  已成功地还原了 master 数据库。正在关闭 SQL Server。

  SQL Server 正在终止此进程。

  则表示master数据库还原成功,启动服务后进入SSMS即可看到master数据库了

  恢复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”

时间: 2024-05-04 20:47:14

SQL Server 2008 master与msdb数据库的备份与恢复的相关文章

SQL Server 2008 master 数据库损坏解决总结

  SQL Server 2008 master数据库损坏后,SQL SERVER服务启动失败,查看错误日志,你会看到下面错误信息: 2015-10-27 10:15:21.01 spid6s      Starting up database 'master'.   2015-10-27 10:15:23.01 spid6s      错误: 9003,严重性: 20,状态: 1.   2015-10-27 10:15:23.01 spid6s      The log scan number

SQL Server 2008升级报表服务器数据库

报表服务器数据库可以为一个或多个报表服务器实例提供内部存储.因为报表服务器数据库架构可能会因为推出新的 Reporting Services 版本而有所变化,所以要求数据库版本与使用的报表服务器实例的版本相匹配.大多数情况下,报表服务器数据库可以自动升级,您不需要执行任何具体操作. 如何升级报表服务器数据库 以下列表指出了升级报表服务器数据库的所有情况: 安装程序升级报表服务器的单个实例.在服务启动并且报表服务器确定数据库架构版本与服务器版本不匹配之后,将自动升级数据库架构. 服务启动时,报表服

Sql Server 2008 R2连接远程数据库

1.进入sql serverconfiguration manager,启动sqlserver(SQLEXPRESS)和SQL Server Browser,如果SQL Server Browser无法启动,参看链接 http://blog.csdn.net/xtm_rongbing/article/details/13614169 为了防止防火墙禁止1433端口和Server Browser.exe程序,需要将以上两个加入到防火墙允许程序中,win8中操作如链接所示,http://blog.c

SQL Server 2008 R2如何附加数据库

环境:SQLServer 2008 R2 问题:SQLServer 2008 R2附加数据库 解决: 数据库------ >附加------>选择数据库MDF数据文件存放位置(LDF日志文件会自动添加进去)------>确定----- ->就可以使用该数据库了. 如图:

《数据库基础及实践技术——SQL Server 2008》一3.7 复制数据库

3.7 复制数据库 将数据库从一台服务器移动(复制)到另一台服务器有多种方法,3.6节介绍过的分离和附加数据库是一种方法,本节介绍的复制数据库是另一种方法,还有一种方法是使用备份和恢复数据库(在第13章介绍)技术.SQL Server 2008提供了复制数据库向导,利用该向导可以很方便地将数据库从一台服务器复制到另一台服务器,也可以将数据库复制到同一台服务器上.而且可以将SQL Server 2000或SQL Server 2005数据库复制到SQL Server 2008版本的实例上,从而实现

《数据库基础及实践技术——SQL Server 2008》一导读

前 言 数据库技术起源于20世纪60年代末,经过几十年的迅速发展,目前已经建立起一套较完整的理论体系,产生了一大批商用软件产品.随着数据库技术应用领域的不断扩大,对数据库的应用已深入到国民经济和社会生活的各个方面.因此,作为当代的大学生,学习和掌握数据库知识都是非常必要的. 为了提高计算机专业本科生对数据库知识的实践能力,很多高校的计算机专业对数据库的授课做了一些调整,相当一部分学校将数据库的教学安排在两个学期完成,或者分为两个阶段来完成.第一个阶段基本是以讲授数据库基本原理为主,第二个阶段以讲

SQL SERVER 2008 R2 按照自定数据库对象类型生成脚本

好像Sql server 2008 的这个选择数据库对象类型,在点击"下一步"才提示出来.   SQL SERVER 2008 R2 生成数据... 支持不同的数据库对象类型.比如只导出视图.存储过程.函数.       Microsoft SQL Server 2008 R2  下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=26729     SQL2008升级到SQL2008R2图形界面升级 http://

SQL Server 2008 RC0安装过程一:安装中心

首先就是装载SQL Server 2008 RC0的介质,如果是MSDN或者Technet的订阅用户可以直接在订阅站点里面下载,如果没有订阅帐户可以到微软的下载站点去下载,地址是http://www.microsoft.com/downloads/details.aspx?FamilyID=35f53843-03f7-4ed5-8142-24a4c024ca05&DisplayLang=en,而SQL Server 2008 RC0的范例数据库和范例程序可以从CodePlex下载,地址是http

提高SQL Server 2008可用性

数据库镜像 "Database Mirroring(数据库镜像)"是一种可提高数据库可用性的技术.当主体数据库发生更改 时,这些更改也将自动应用到镜像数据库中.当主体服务器发生故障时,客户机应用程序可自动重定向到 镜像服务器,而应用程序无需进行任何改动. 可以对 Database Mirroring 进行配置,以对镜像服务器实时应用更改,称为"同步":或者近乎实 时应用更改,称为"异步",因此可以在系统中指定保护级别和性能开销. 有了 SQL S