在附加数据库时,出现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。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)