- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL数据库修复方法
一,数据库发生故障 首先确定数据库有无碎片,页有无偏移,数据库是否一致
性通过。一般来说数据库断电置疑的情况极少有碎片产生、碎片一般集中在数据
库误删除 分区被误格式化等情况下使用普通软件恢复出来的数据库。这种有碎
片的数据库将无法修复或者修复少很多数据。断电置疑的数据库可以自己使用
DBCC恢复或者使用软件恢复。有碎片的数据库需要专业数据库修复人士来进行
碎片收集重组出原始数据库,才能保证数据库的修复效果。
二,要分清数据库的故障原因,及根据错误信息判定是MDF错误 还是 NDF错误
还是LDF错误 然后根据详细的故障提示进行具体的修复!
三,具体实施 有碎片 做碎片收集重组,检测无碎片的如果页偏移则根据页ID
记录 等条件 排序页 修复指针
四,数据库一致性不通过则检查系统表物理故障,一致通过但是不能附加成功,
考虑索引及系统表逻辑故障。
五,具体修复过程,采取先自后三法(先用微软自己的修复方式修复,实在不行
则使用第三方工具或自己开发的工具)来提取表结构 其中包含 表及字段属性等
的结构
六,结构有了后,看表少多少,行数据少多少。的恢复情况怎样,然后更具客户
的检验 及软件是否调用 等情况 再去提取 相关少掉的表及行数据 函数 用户
自定义函数 存储过程 用户 视图 其中涉及 库与库的结构转移法。及从备份
恢复结构法。
七,至此 数据库基本修复完成
常用数据库修复DBCC命令:
【SQL】DBCC
DBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,
对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少
了不少工作,归类如下:
一、DBCC 帮助类命令
* DBCC HELP(?)
查询所有的DBCC命令
* DBCC HELP(checktable)
查询指定的DBCC命令的语法说明
* DBCC USEROPTIONS
返回当前连接的活动(设置)的SET选项
二、DBCC 检查验证类命令
* DBCC CHECKALLOG (数据库名称)
检查指定数据库的磁盘空间分配结构的一致性
* DBCC CHECKCATALOG (数据库名称)
检查指定数据库的系统表内和系统表间的一致性
* DBCC CHECKCONSTAINTS (tablename)
检查指定表上的指定约束或所有约束的完整性
* DBCC CHECKDB
检查数据库中的所有对象的分配和结构完整性
* DBCC CHECKFILEGROUP
检查指定文件组中所有表在当前数据库中的分配和结构完整性
* DBCC CHECKTABLE
检查指定表或索引视图的数据、索引及test、ntest和image页的完整性
* DBCC CHECKIDENT
检查指定的当前标识值
* DBCC SQLPERF(UMSSTATS) undocumented in BOL
可以用来检查是否CPU使用达到瓶颈
最关键的一个参考数据num runnable,表明当前有多少个线程再等待运行
如果大于等于2,考虑CPU达到瓶颈
三、DBCC 维护类命令
* DBCC CLEANTABLE (db_name,table_name)
回收Alter table drop column语句删除可变长度列或text
* DBCC DBREINDEX
重建指定数据库的一个或多个索引
* DBCC INDEXDEFRAG
对表或视图上的索引和非聚集索引进行碎片整理
* DBCC PINTABLE (db_id,object_id)
将表数据驻留在内存中
查看哪些表驻留在内存的方法是:
select objectproperty(object_id(tablename),tableispinned)
* DBCC UNPINTABLE (db_id,object_id)
撤消驻留在内存中的表
* DBCC SHRINKDATABASE(db_id,int)
收缩指定数据库的数据文件和日志文件大小
* DBCC SHRINKFILE(file_name,int)
收缩相关数据库的指定数据文件和日志文件大小
四、DBCC 性能调节命令
* DBCC dllname(FREE)
sp_helpextendedproc 查看加载的扩展PROC
在内存中卸载指定的扩展过程动态链接库(dll)
* DBCC DROPCLEANBUFFERS
从缓冲池中删除所有缓冲区
* DBCC FREEPROCCACHE
从过程缓冲区删除所有
您可能关注的文档
最近下载
- 人美版(北京)美术五年级上册20.京剧脸谱(共36张PPT).pptx VIP
- CS345(一) 给水承插铸铁管道支墩.pdf VIP
- WERKAI WKR5000 SERIES Manual说明书用户手册.pdf
- 质量、安全、环保体系管理制度.docx VIP
- 一种镍基合金其冶炼方法、合金盘管及其制备方法.pdf VIP
- 一种镍基高温合金的高纯净冶炼方法.PDF VIP
- 一种高Al低密度镍铁基高温合金铸锭双联冶炼方法.pdf VIP
- 一种高强高弹高塑性镍基高温合金带材及其制备工艺.pdf VIP
- 一种高强高韧耐蚀铁镍基高温合金及其制备方法.pdf VIP
- 专科医生如何带教全科医生课件.pptx VIP
文档评论(0)