SQL SERVER 2008 重建损坏的master (转)

--重建之前

 

--记录配置信息

    --SELECT * FROM sys.configurations;

 

--确认还原后的系统数据库文件位置.

    --SELECT name, physical_name AS current_file_location

    --FROM sys.master_files

    --WHERE database_id IN (DB_ID('master'), DB_ID('model'), DB_ID('msdb'), DB_ID('tempdb'));

     

 

--确认版本信息

    --SELECT

    --SERVERPROPERTY('ProductVersion ') AS ProductVersion,

    --SERVERPROPERTY('ProductLevel') AS ProductLevel,

    --SERVERPROPERTY('ResourceVersion') AS ResourceVersion,

    --SERVERPROPERTY('ResourceLastUpdateDateTime') AS ResourceLastUpdateDateTime,

    --SERVERPROPERTY('Collation') AS Collation;

 

--必须有最近的系统数据库备份。最好养成备份数据库的习惯。以下大概说一下系统数据库需要备份.

 

    --导致master 更新并要求进行备份的操作类型包括:

    --创建或删除用户数据库。

    --用户数据库自动增长以容纳新数据时,master 数据库不受影响。

    --添加或删除文件和文件组。

    --添加登录或其他与登录安全相关的操作。

    --数据库安全操作(如向数据库中添加用户)对master 数据库没有影响。

    --更改服务器范围的配置选项或数据库配置选项。

    --创建或删除逻辑备份设备。

    --配置用于分布式查询和远程过程调用(RPC) 的服务器,如添加链接服务器或远程登录。

 

    --执行任一修改数据库的操作后,必须备份model 或msdb 数据库。这些数据库是用下列方法修改的:

 

    --msdb 数据库由下列操作自动更新:

 

       --计划任务。

       --在SQL Server 实例中通过导入/导出向导创建存储Integration Services 包。

       --维护联机备份与还原历史记录。

       --复制。

       --Setup.exe 将恢复模式重置为SIMPLE。

       --对基于策略的管理策略或条件进行补充或更改。

 

    --只有用户更改才能更新model 数据库。

 

--一、重建系统数据库

    --命令行下转换到安装文件setup.EXE所在目录(如D:/SQL SERVER 2008 R2 RTM)执行如下命令

    --/QUIE 指定在没有任何用户界面的情况下运行安装程序。

    --/ACTION=REBUILDDATABASE  标识重建系统数据库

    --/INSTANCENAME=MSSQL200801 实例名称

    --/SQLSYSADMINACCOUNTS="ALEX/LIDONGSHENG"--需要添加的windows账号。。最好是启动账号

    --/SAPWD=54546546  SA密码

 

    --Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQL200801 /SQLSYSADMINACCOUNTS="ALEX/LIDONGSHENG" /SAPWD=54546546

 

--二、单用户启动数据库实例(记住必须先停止数据库再进行以下动作)

    --命令行下转换到SQL目录(D:/Program Files/Microsoft SQL Server/MSSQL10_50.MSSQL200801/MSSQL/Binn 根据个人安装,默认的在C盘)执行如下命令

    --sqlservr.EXE -m -s mssql200801

 

--或者手动

    --1.在SQL Server 配置管理器中,单击“SQL Server 服务”。

    --2.在右窗格中,右键单击SQL Server (<实例名>),再单击“属性”。

    --3。在“高级”选项卡的“启动参数”框中,键入以分号(;) 分隔的参数。

    --4.例如,若要以单用户模式启动,请在现有启动选项之前插入-m;,然后重新启动数据库。(以单用户模式启动SQL Server 时,请首先停止SQL Server 代理。否则,SQL Server 代理可能会首先连接,并阻止您作为第二个用户连接。)

    --重要提示:结束单用户模式的使用之后,若要以正常的多用户模式重新启动服务器实例,必须先从“启动参数”框中删除-m;。

    --5.单击“确定”。重新启动数据库引擎。

 

--还原数据库(打开ssms工具,先断开连接,再新建查询,执行下面的还原)

 

    --restore database master from disk='d:/master20110221.bak' with replace

    --restore database msdb from disk='d:/msdb20110221.bak' with replace

    --restore database model from disk='d:/model20110221.bak' with replace

原文地址:https://www.cnblogs.com/qanholas/p/2736641.html