思迅前台“前台流水数据保存失败,交易作废”之DBCC修复思路

已为老胡 2010-04-17 PM 1500℃ 1条
客户用的思迅商业之星V7前台出现了“前台流水数据保存失败,交易作废”,思迅的技术工程师给了DBCC修复的思路。
1.停止SQL Server的服务,备份SQL Server安装目录下的data子目录下 hbposv6_branch_log.ldf(也有可能非此命名),同时查看磁盘 2.启动SQL Server服务(如已停止),创建一个新的数据库,命名为空间是否有足够的空间; 原来数据库的名字。 3.停止SQL Server 4.把老数据库的MDF文件(hbposv6_branch_data.mdf)替换新数据库的相应的MDF文件,并把LDF文件(hbposv6_branch_log.ldg)删除。 5.重新启动SQL Server服务,然后运行如下命令: Use Master go sp_configure ‘allow updates’, 1 reconfigure with override go begin tran update sysdatabases set status = 32768 where name = ‘hbposv6_branch’ –Verify one row is updated before committing commit tran go 6.停止SQL然后重新启动SQL Server服务,然后运行如下命令 (更换日志文件路径地址): use master go DBCC TRACEON(3604) DBCC REBUILD_LOG (‘hbposv6_branch’,'c:Program FilesMicrosoft SQL ServerMSSQLDatahbposv6_branch_log.ldf’) –在这里,请输入你的数据库的路径 Go 7.停止SQL然后重新启动SQL Server服务,然后运行: use master go update sysdatabases set status = 8 where name = ‘hbposv6_branch’ go sp_configure ‘allow updates’, 0 reconfigure with override go 8.运行dbcc checkdb(db_name) 检查数据库的完整性 9.修复数库 –请在查询分析器中执行下列语句.执行前断开其它所有数据库连接,最好是断开网线 –如果不是该数据库名,请将数据库–hbposv6_branch –改为要修复的数据库 USE master Go –单用户模式 EXEC sp_dboption ‘hbposv7′, ’single user’, ‘TRUE’ go –数据库检查 DBCC CHECKDB (‘hbposv7′) Go –如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复 –数据库修复 DBCC CHECKDB (‘hbposv7′,’repair_rebuild’) Go –再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功; DBCC CHECKDB (‘hbposv7′) Go –如还有红色报错,意味着还需要更高级别的修复;尝试将上面修复语句的’repair_rebuild’换为’repair_allow_data_loss’再试, –之后再次检查数据库。 DBCC CHECKDB (‘hbposv7′,’repair_allow_data_loss’) ——重复执行此语句5次以上 Go –如果还有错误未修复,请把这些信息以文字的方式发给我们 –退出前请一定要执行以下语句返回到多用户模式 EXEC sp_dboption ‘hbposv7′, ’single user’,'FALSE’ go
注:都要把 dbname 替换成真实的数据库名字。 实际上,一般情况只需要走第8,9步就可以了。 转自小武's Blog <网上游>

非特殊说明,本博所有文章均为博主原创。

评论啦~