A. 我的 sql Server 库出现“一致性”错误,请高手帮忙解决
使用DBCC checkdb,不要加后面的允许数据丢失的修复选项,试试
B. sql数据库查询中断、无法修复的一致性错误、无法导出数据, 数据怎么恢复
数据库损坏最行之有效的办法就是存在冗余数据,使用冗余数据进行恢复。所谓的冗余数据包括热备、冷备、和暖备。
使用镜像或可用性组作为热备,当检测到错误时,可以自动进行页修复(镜像要求2008以上,可用性组是2012的功能)。镜像当主体服务器遭遇824错误时,会向镜像服务器发送请求,将损坏的页由镜像复制到主体解决该问题。对于可用性组,如果数据页是在主副本上发现的,则主副本将会向所有辅助副本发送广播,并由第一个响应的辅助副本的页来修复页错误,如果错误出现在只读辅助副本,则会向主副本请求对应的页来修复错误。在这里有一点值得注意的是,无论是哪一种高可用性技术,都不会将页错误散播到冗余数据中,因为SQL Server中所有的高可用性技术都是基于日志,而不是数据页。
其次是使用暖备或冷备来还原页,我已经在代码清单1中给出了详细的代码,这里就不细说了。
如果没有合适的备份存在,如果损坏的数据页是存在于非聚集索引上,那么你很幸运,只需要将索引禁用后重建即可。
如果存在基准的完整备份,并且日志链没有断裂(包括差异备份可以Cover日志缺失的部分),则可以通过备份尾端日之后还原数据库来进行修复。
最后,如果基础工作做的并不好,您可能就需要通过损失数据的方式来换回数据库的一致性,我们可以通过DBCC CheckDB命令的REPAIR_ALLOW_DATA_LOSS来修复数据库。使用该方法可能导致数据损失,也可能不会导致数据损失,但大部分情况都会通过删除数据来修复一致性。使用REPAIR_ALLOW_DATA_LOSS需要将数据库设置为单用户模式,这意味着宕机时间。
无论是哪种情况修复数据库,都要考虑是否满足SLA,如果出现了问题之后,发现无论用哪种方式都无法满足SLA的话,那只能检讨之前的准备工作并祈祷你不会因此丢了工作。
C. SQL 2008R2 两个一致性错误
1 当前命令发生了严重错误。应放弃任何可能产生的结果
2 SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:21802,但实际为 34049:134765344)。在文件 'F:\Program Files (x86)\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test.MDF' 中、偏移量为 0x0000000aa54000 的位置对数据库 ID 7 中的页 (1:21802) 执行 读取 期间,发生了该错误。SQL Server 错误日志或系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。
D. SQL数据库出现了一致性错误。。
SQL数据库修复的问题一定要用达思SQL数据库修复软件,它可是全球最棒的SQL数据库修复软件了。而且在数据库修复过程中遇到任何问题,还有数据库修复专家指导。要下载去网络就可以,很多下载地址,我一般有什么问题都是用这个软件的
E. SQL 的备份文件还原时出现“发生内部一致性错误”
还原时,复选“在现有数据库上强制还原”
F. SQLSERVER2008针对注册表项一致性验证失败
SQLSERVER2008针对注册表项一致性验证失败是设置错误造成的,解决方法为:
1、在薯斗系统桌面左下角点击开始----点击运行。
G. 数据库置疑之后修复完,用 dbcc checkdb(数据库名) 检查数据的时候提示有一致性错误
数据库置疑之后修复完,用 dbcc checkdb(数据库名) 检查数和桐搭据的轮带时候提示有一致性错误是设置错造成的,解决方法为:
1、使用phpMyAdmin 自带的修复表,选中需要修复的表,然后点击修复表。
H. 修复SQL2000数据库置疑时出现的错误
备份数据文件,然后按下面的步骤处理: 1.新建一个同名的数据库(数据文件与原来的要一致) 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用 数据库的脚本创建一个新的数据库,并将数据导进去就行了. USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GO UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名' Go sp_dboption '置疑的数据库名', 'single user', 'true' Go DBCC CHECKDB('置疑的数据库名') Go update sysdatabases set status =28 where name='置疑的数据库名' Go sp_configure 'allow updates', 0 reconfigure with override Go sp_dboption '置疑的数据库名', 'single user', 'false 假设数据库为TEST: 按以下步骤执行 A.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。 use master go sp_configure 'allow updates',1 go reconfigure with override go B.设置test为紧急修复模式 update sysdatabases set status=-32768 where dbid=DB_ID('test') 此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表 C.下面执行真正的恢复操作,重建数据库日志文件 dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf') 执行过程中,如果遇到下列提示信息: 服务器: 消息 5030,级别 16,状态 1,行 1 未能排它地锁定数据库以执行该操作。 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。 正确执行完成的提示应该类似于: 警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
I. sql2000数据库还原数据时发生“数据一致性错误”,急求解决方法!
是.bak的文件吗?
如果是的话,可以把原来的库删除,
然后建立一个新库,名字和原来的一样.然后再还原.
J. sql2000检查数据库有一致性和分配性错误。求各位帮忙修复
http://blog.csdn.net/tongdoudpj/article/details/2032481