sql server2000数据库文件错误能否修复

sql server2000数据库文件错误能否修复,第1张

在附加数据库时,出现823错误时,可按以下方法 *** 作:

EXEC sp_configure 'allow updates ',1 RECONFIGURE WITH OVERRIDE / 打开修改系统表的开关 /

update sysdatabases set status = 32768 where name = '数据库名 '

DBCC REBUILD_LOG ( '数据库名 ', 'E: dzzdatabase dzz1204_LogLDF ' )

update sysdatabases set status = 0 where name = '数据库名 '

restore database 数据库名 WITH RECOVERY

EXEC sp_configure 'allow updates ',0 RECONFIGURE WITH OVERRIDE / 关闭打开修改系统表的开关 /

关于823错误的 SQL-SERVER 中的帮助:

================================

错误 823

严重级别 24

消息正文

在文件 ' '%4! ' ' 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。

解释

Microsoft SQL Server 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。

对策

检查该设备的可访问性和状态。

如果可能,执行硬件诊断并纠正问题。

从最新的数据库备份还原损坏的文件。从数据库备份中还原应始终是修复已损坏数据库的首选方法。

如果没有备份或者检测到的错误是孤立的,则 DBCC CHECKDB 的修复功能可能很有用。然而,比起从备份中还原损坏的文件,可能使用 DBCC CHECKDB 消耗的时间更多,且可能无法恢复全部数据。

注意 如果使用修复子句运行 DBCC CHECKDB 时,问题没有得到纠正,或者不知道该过程将如何影响数据,请与主要的支持提供者联系。

select into A from B ,这个用法是A表不存在,生成一个结构数据与B表一样的A表。若A表存在,可以用 insert into A select from B,要求各列一致,否则就每个字段都写出,insert into A(c1,c2……) select a1,a1,…… from B

数据文件损坏了,如果之前有完全备份恢复一个完全备份,注意恢复前先备份尾日志。

备份尾日志的方法是在backup 语句后加上no_truncate选项

比如

backup log portalse1 to disk='d:\portalse1trn' with no_truncate

另外还有可能是硬盘出问题了,用磁盘扫描检查一下磁盘。

首先,SQL2005附加SQL2000的数据库这个 *** 作本身就不靠谱,出错的各种可能性非常多。

一般来说,推荐使用两种方法进行转换:

1· 使用数据库备份还原,在2000中备份成bak文件,到2005中还原,这个方法的成功率比直接附加大的多,但如果数据库中存在特殊性不兼容的结构,此方法也可能失败,这时候使用第二种方法;

2· 在2000中对数据库导出完整脚本(sql文件),在2005中创建一个空库,执行该脚本。并使用DTS导入数据。

上面提示的LDF错误,应该还可以尝试一下,因为是日志文件错误,可以啊2000中截断日志(LDF变成1M)后附加尝试,或者,删除LDF文件尝试,有可能成功。

以上就是关于sql server2000数据库文件错误能否修复全部的内容,包括:sql server2000数据库文件错误能否修复、Sql server数据恢复、SQL的错误 错误: 823,严重度: 24,状态: 2。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9344981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存