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

posted @   qanholas  阅读(4747)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
历史上的今天:
2011-10-24 DevExpress换肤
2010-10-24 sql执行顺序
2010-10-24 group by
点击右上角即可分享
微信分享提示