一、问题
MS SQL Server是大家使用较多的数据库之一,功能先进、可靠性高,所以大部分的公司组织都选用MS SQL Server数据库。然而,MS SQL Server在使用的过程中可能出现数据库损坏和错误并直接导致无法访问数据库对象。常见的几个导致MDF档案损坏原因:
- SQL Server本身有bug
- 数据库打开时突然关闭
- SQL账户有变更
- 感染病毒
- SQL Server升级成新版本
二、解决
1. DBCC CHECKDB
DBCC CHECKDB命令可用于检查数据库的不一致并修复错误。如果数据库损坏,建议使用命令修复特定对象或组件而无须修复整个数据库。
运行命令,你可以这么操作:
DBCC CHECKDB (database_name)
命令会检查表、存储、质量和一致性的度量并将结果罗列在表中。如果数据库较大,可能修复时间较长。
2. 易我MSSQL数据库恢复
如果MDF文件严重损毁,使用DBCC CHECKDB命令容易失败。此外,命令修复适用具有相关技术背景的用户操作使用,如果属于一般用户,还是建议使用可靠的第三方软件—易我MSSQL数据库恢复进行修复。
易我MSSQL数据库恢复是一款相当专业、可靠的SQL修复工具,支持恢复数据库组件(表、触发程序、索引、金钥、规则 & 存储过程)和从SQL数据库中删除的记录。软件本身支持 MS SQL Server 2016/2014/2012/2008及其他更老的版本。
执行Microsoft SQL数据库修复,请跟着下列步骤进行:
在修复数据库之前,请先备份MS SQL数据库。
步骤 1. 选择损坏的数据库修复
- 启动易我MSSQL数据库恢复软件。
- 点击「‧‧」或「搜寻」,选择损坏的数据库文件。
- 选择档案后,单击「修复」按钮开始分析。
注意:使用软件前,需要先停用SQL Server服务。
步骤 2. 修复损坏的数据库
- 软件以树状结构显示所有可恢复项。项目显示在左侧窗格中。
- 选择需要修复的元件,点击「导出」按钮。
步骤 3. 以脚本方式导出到数据库
- 选择将数据库项目导出到数据库或将项目以脚本方式导出。
- 如果选择「导出到数据库」,则需要输入信息并选择目标数据库。
- 这时会出现一个窗口要求提供连接服务器的凭证和修复数据保存的目的地。请点击「确定」开始修复。
注意:在单击「确定」之前,需要重新启动SQL Server服务。
三、预防
解决只是事后补救,最好也是最明智的就是事先预防。下面是防止SQL Server数据库损坏的办法:
- 定期备份数据库
- 定期检查内存、网络监控、硬件错误检查等等来避免硬件故障和错误发生
- 创建脚本监控和识别数据库中运行缓慢的查询
- 用杀毒软件避免感染病毒