Pubwin2009SQLserver数据库修复常见问题方法解读 - 图文 下载本文

Pubwin2009SQLServer数据库修复常见问题方法

目录

Pubwin2009SQLServer数据库修复常见问题方法 .......................................................................... 1

一、 修复一致性错误和分配错误 ........................................................................................... 2 二、 用自动备份文件(local_db.DBBak)恢复local数据库 ...................................................... 3 三、修复置疑的数据库 ............................................................................................................. 9 四、最大限度导出会员 ........................................................................................................... 22 五、local数据库文件和自动备份文件都损坏或丢失 .......................................................... 23 六、 合并会员表 ..................................................................................................................... 24 七.Pubwin2009各个表的作用 .............................................................................................. 33

一、修复一致性错误和分配错误

数据库的基本信息:

Pubwin2009的数据库文件有4个(路径为:Hintsoft\\PubwinServer\\database 下的“local_Data.MDF”和“local_log.LDF”“eventDB_Data.MDF”和“eventDB_log.LDF”; 其中eventDB数据库专门存放会员事件记录和部分省市的实名ID卡库,local数据库存放除eventDB数据库以外的全部数据(包括会员数据、各项计费相关设置、各项报表数据、各项历史记录数据) 注意:在对数据库做任何操作前请一定注意备份数据库。

Pubwin2009默认会间隔37分钟自动进行差异备份local数据库,自动备份文件其路径为 :Hintsoft\\PubwinServer\\appServ\\server\\webapps\\NetCafe\\backup\\longtermdata下 “local_db.DBBak”),用此文件恢复会丢失最近37分钟的全部记录。

修复数据库步骤:

在数据库损坏时候,优先考虑使用自动备份文件来恢复local数据库,恢复方法本文档下面会谈到,不能恢复时再用修复置疑的方法处理,用置疑方法不能导出完整会员表时,可以尝试用最大限度导出会员的工具(方法如下)。

1、开始检查local数据库是否发生一致性错误或分配错误: 并把Pubwin2009服务停止,只启动SQLSERVER服务;进入CMD。 输入osql -U netcafe –P 数据库密码 1>use local 2>go

1>dbcc checkdb 2>go

2、发现错误后我们要开始修复, 所使用语句下:

(1)把数据库置为单用户模式

sp_dboption'local','single user', 'true' go

(2)修复数据库

DBCC checkdb('local',REPAIR_ALLOW_DATA_LOSS) go

如果DBCC checkdb('local',REPAIR_A LLOW_DATA_LOSS)语句执行一次不行, 可以在多执行几次直到没有再提示数据库有错误为止. (3)设置为多用户模式

sp_dboption 'local', 'single user', 'false' (4)如有必要可以收缩(压缩)下数据库:

DBCC SHRINKDATABASE (local, 0) go

3、然后停止SQLSERVER,重新启动Pubwin2009服务控制器就可以了。

二、用自动备份文件(local_db.DBBak)恢复local数据库

1、新建一个全新的local数据库:

点确定完成新建空库,可以把新建的空库备份,方便以后使用。

首先要新建个空的local数据库(方法同上),然后在local上右键->所有任务->还原数据库