随笔 - 59  文章 - 0  评论 - 340  阅读 - 34万 
    有时候由于一些误操作可能会引起SQL Server中的系统数据库遭到破坏,这些系统数据库主要包括master、model、msdb和resource这4个数据库。如果这些数据库遭到了破坏,很有可能会导致数据库的其他操作出现问题,并对数据库的稳定性产生影响。当这些数据库被意外修改时,我们可能需要重建这些数据库。
    在SQL Server 2000的时候,我们可以使用rebuildm.exe来重建Master数据库,但到了SQL Server 2005的时候,这个工具被取消了的,我们需要使用安装程序来重建系统数据库。SQL Server 2008重建系统数据库的方法与SQL Server 2005类似。
    重建系统数据库前,最好对各个用户数据库进行备份以免造成数据丢失。重建系统数据库时,需要以命令行来启动安装程序。重建过程可以不需要SQL Server安装文件,在没有安装文件的时候可以到X:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release文件夹中找到SQL Server的setup.exe。然后在命令提示符下用以下参数启动它。
action=rebuilddatabase、instancename=实例名(默认是MSSQLSERVER)、sqlsysadminaccounts=具有权限的系统管理员名、sapwd=重建后sa的密码
还可以加上Q或Quite参数让重建过程不弹出对话框自动完成。更多关于从命令提示符安装SQL Server的参数可以参考http://msdn.microsoft.com/zh-cn/library/ms144259.aspx
    执行完成后不会弹出任何成功的提示,只是命令提示符会重新回到就绪状态允许用户继续键入字符。这时可以打开X:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log文件夹下的Summary.txt文件,这里记载了刚才完成的操作。在文件顶部有个概要描述,文件底部有详细描述,如果都显示已通过一般就已经成功重建了的,更详细的信息可以看日期_时间目录下的 Detail.txt文件。
可能碰到的问题:
    在重建系统数据库时可能会因为权限问题导致操作失败,Summary.txt的详细描述和Detail.txt中会显示有拒绝访问的异常。首先请确定当前账户拥有管理员权限,如果还无法解决,请打开组策略编辑器(运行gpedit.msc),在计算机配置Windows设置安全设置本地策略用户权限分配,找到“调试程序”项,将Administrators组或当前用户加入其中,注销并重新登陆后再重建数据库。

本文适用于 Microsoft SQL Server 2008 , Microsoft SQL Server 2008 SP1
posted on   Magic.Z  阅读(3940)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示