2022年SQL数据库修复方法 .pdf
《2022年SQL数据库修复方法 .pdf》由会员分享,可在线阅读,更多相关《2022年SQL数据库修复方法 .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQ L 数据库修复方法 一,数据库发生故障 首先确定数据库有无碎片,页有无偏移,数据库是否一致性通过。一般来说数据库断电置疑的情况极少有碎片产生、碎片一般集中在数据库误删除 分区被误格式化等情况下使用普通软件恢复出来的数据库。这种有碎片的数据库将无法修复或者修复少很多数据。断电置疑的数据库可以自己使用DBC C恢复或者使用软件恢复。有碎片的数据库需要专业数据库修复人士来进行碎片收集重组出原始数据库,才能保证数据库的修复效果。二,要分清数据库的故障原因,及根据错误信息判定是M D F 错误 还是 N DF错误 还是 LDF错误 然后根据详细的故障提示进行具体的修复!三,具体实施 有碎片 做碎片
2、收集重组,检测无碎片的如果页偏移则根据页I D记录 等条件 排序页 修复指针 四,数据库一致性不通过则检查系统表物理故障,一致通过但是不能附加成功,考虑索引及系统表逻辑故障。五,具体修复过程,采取先自后三法(先用微软自己的修复方式修复,实在不行则使用第三方工具或自己开发的工具)来提取表结构 其中包含 表及字段属性等的结构 六,结构有了后,看表少多少,行数据少多少。的恢复情况怎样,然后更具客户的检验 及软件是否调用 等情况 再去提取 相关少掉的表及行数据 函数 用户自定义函数 存储过程 用户 视图 其中涉及 库与库的结构转移法。及从备份 恢复结构法。七,至此 数据库基本修复完成 常用数据库修复
3、D BCC命令:【S Q L】DBCCDBC C是 SQ L Ser ver 提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少了不少工作,归类如下:一、D BCC 帮助类命令*D BCC HELP(?)名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 13 页 -查询所有的 DBCC命令*D BCC HELP(checkt abl e)查询指定的 DBCC命令的语法说明*D BCC USERO PTI O N S返回当前连接的活动(设置)的 SET选项 二、D BCC 检查验证类命令*D BCC CH EC
4、KALLO G(数据库名称)检查指定数据库的磁盘空间分配结构的一致性*D BCC CH ECKCATALO G(数据库名称)检查指定数据库的系统表内和系统表间的一致性*D BCC CH ECKCO N STAI N TS(t abl enam e)检查指定表上的指定约束或所有约束的完整性*D BCC CH ECKDB检查数据库中的所有对象的分配和结构完整性*D BCC CH ECKFI LEG RO U P检查指定文件组中所有表在当前数据库中的分配和结构完整性*D BCC CH ECKTABLE检查指定表或索引视图的数据、索引及t est、n t est 和 i m age 页的完整性*D B
5、CC CH ECKI DENT检查指定的当前标识值*D BCC SQ LPERF(UM SSTATS)undocum ent ed i n BO L可以用来检查是否CPU使用达到瓶颈 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 13 页 -最关键的一个参考数据num r unnabl e,表明当前有多少个线程再等待运行 如果大于等于 2,考虑 C PU达到瓶颈 三、D BCC 维护类命令*D BCC CLEAN TABLE(db_nam e,t abl e_nam e)回收 Al t er t abl e drop col um n 语句删除可变长度列或t ext*D BCC
6、 DBREI NDEX重建指定数据库的一个或多个索引*D BCC I N DEXDEFRAG对表或视图上的索引和非聚集索引进行碎片整理*D BCC PI NTABLE(db_i d,obj ect _i d)将表数据驻留在内存中 查看哪些表驻留在内存的方法是:sel ect obj ect proper t y(obj ect _i d(t abl enam e),t abl ei spi nned)*D BCC UN PI N TABLE(db_i d,obj ect _i d)撤消驻留在内存中的表*D BCC SH RI N KDATABASE(db_i d,i nt)收缩指定数据库的数据
7、文件和日志文件大小*D BCC SH RI N KFI LE(f i l e_nam e,i nt)收缩相关数据库的指定数据文件和日志文件大小 四、D BCC 性能调节命令 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 13 页 -*D BCC dl l nam e(FR EE)sp_hel pext endedproc 查看加载的扩展 PR O C在内存中卸载指定的扩展过程动态链接库(dl l)*D BCC DR O PC LEANBUFFERS从缓冲池中删除所有缓冲区*D BCC FR EEPRO C CACHE从过程缓冲区删除所有元素*D BCC I N PUTBUFFE
8、R显示从客户机发送到服务器的最后一个语句*D BCC O PENTRAN(db_nam e)查询某个数据库执行时间最久的事务,由哪个程序拥有*D BCC SH O W _STATI STI CS显示指定表上的指定目标的当前分布统计信息*D BCC SH O W C O NTI G显示指定表的数据和索引的碎片信息*D BCC SQ LPERF(l ogspace)查看各个 DB的日志情况(i ost at s)查看 I O情况(t hr eads)查看线程消耗情况 返回多种有用的统计信息*D BCC CACHESTATS显示 SQ L Ser ver 2000 内存的统计信息*D BCC CU
9、RSO RSTATS显示 SQ L Ser ver 2000 游标的统计信息 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 13 页 -*D BCC M EM O R YSTATS显示 SQ L Ser ver 2000 内存是如何细分的*D BCC SQ LM G RSTATS显示缓冲中先读和预读准备的SQ L 语句 五、D BCC 未公开的命令*D BCC ER RLO G初始化 SQ L Ser ver 2000 的错误日志文件*D BCC FLUSH PRO CI NDB(db_i d)清除 SQ L Ser ver 2000 服务器内存中的某个数据库的存储过程缓存内容
10、*D BCC BU FFER(db_nam e,obj ect _nam e,i nt(缓冲区个数)显示缓冲区的头部信息和页面信息*D BCC DBI NFO(db_nam e)显示数据库的结构信息*D BCC DBTABLE显示管理数据的表(数据字典)信息*D BCC I N D(db_nam e,t abl e_nam e,i ndex_i d)查看某个索引使用的页面信息*D BCC REBUI LDLO G重建 SQ L Ser ver 2000 事务日志文件*D BCC LO G(db_nam e,3)(-1-4)查看某个数据库使用的事物日志信息*D BCC PAG E名师资料总结-精
11、品资料欢迎下载-名师精心整理-第 5 页,共 13 页 -查看某个数据库数据页面信息*D BCC PR O CBUF显示过程缓冲池中的缓冲区头和存储过程头*D BCC PR TI PAG E查看某个索引页面的每行指向的页面号*D BCC PSS(user,spi d,1)显示当前连接到 SQ L Server 2000 服务器的进程信息*D BCC RESO U RCE显示服务器当前使用的资源情况*D BCC TAB(db_i d,obj ect _i d)显示数据页面的结构 六、D BCC跟踪标记 跟踪标记用于临时设置服务器的特定特征或关闭特定行为,常用于诊断性能问题或调试存储过程或复杂的计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年SQL数据库修复方法 2022 SQL 数据库 修复 方法
限制150内