数据库置疑修复实例
方法1:
企业管理器能够正常分离附加时:
第一步:先把数据库服务停止客户数据SQL SERVER服务停止把软件安装所在目录的账套数据复制一份,以避免操作不当造成的数据丢失。
小提示:使用WINDOWS自带的搜索功能,搜索*.mdf即可出来电脑上所有的数据,用友的数据文件名称为ufdata.mdf注意看所在文件夹及修改时间,这样可以避免漏备份数据
如图所示:
第二步:分离数据库
打开企业管理器,已置疑的数据库上点右键->所有任务->分离数据库->清除连接(若有连接)->确定
如图所示:
第三步:删除ufdata.ldf文件
分离完成后,进入用友软件数据所在文件夹,把其中的ufdata.ldf 删除掉,若是看到2个ufdata就显示,点右键属性,查看文件类型,或者是在我的电脑里点工具->文件夹选项->查看->把隐藏已知文件类型的扩展名前面的勾去掉即可
如图所示:
然后再打开企业管理器,在数据库上点右键->所有任务->附加数据库->定位至数据文件ufdata.mdf所在路径->确定-> 提示“为日志文件指定的文件名不正确。将创建新的日志文件。要继续吗?”点是(Y)。数据库置疑修复成功。
如图所示:
方法2:
企业管理器分离附加异常时:
下面以ufdata_002_2011置疑修复为例
第一步:先把数据库服务停止客户数据SQL SERVER服务停止把软件安装所在目录的账套数据复制一份,以避免操作不当造成的数据丢失。
小提示:使用WINDOWS自带的搜索功能,搜索*.mdf即可出来电脑上所有的数据,用友的数据文件名称为ufdata.mdf注意看所在文件夹及修改时间,这样可以避免漏备份数据
如图所示:
第二步:删除ufdata.ldf文件
进入用友软件数据所在文件夹,把其中的ufdata.ldf 删除掉,若是看到2个ufdata就显示,点右键属性,查看文件类型,或者是在我的电脑里点工具->文件夹选项->查看->把隐藏已知文件类型的扩展名前面的勾去掉即可
如图所示:
第三步:
1、将数据库设置为“允许对系统目录直接修改”,在查询分析器中执行如下语句:
use mastergosp_configure 'allow updates',1goreconfigure with overridego
如图所示
2、设置UFDATA_001_2011数据库为紧急修复模式。在查询分析器中执行如下语句:
use masterupdate sysdatabases set status=-32768 where dbid=DB_ID('UFDATA_001_2011')
执行后在企业管理器中刷新后会发现UFDATA_001_2011数据库显示为“只读\置疑\脱机\紧急模式”。
如图所示:
3、重建数据库日志文件。
在查询分析器中执行如下语句:
dbcc rebuild_log ('UFDATA_001_2011','E:\U8SOFT\Admin\XWPC\ZT001\2011\ufdata.ldf')
执行之前必须退出企业管理器,并且没有人连接些数据库。否则会报如下错误:
服务器: 消息 5030,级别 16,状态 1,行 1
未能排它地锁定数据库以执行该操作。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
重建日志成功提示:
警告: 数据库 'UFDATA_001_2011' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。可以访问数据库里面的用户表了。
如图所示:
4、设置数据库为正常状态。在查询分析器中执行如下语句:
sp_dboption 'test','dbo use only','false'
如图所示:
5、最后一步,将步骤1中设置的“允许对系统目录直接修改”一项恢复,在查询分析器中执行如下语句:
sp_configure 'allow updates',0 go reconfigure with override go
如图所示:
图文来源网络,如有侵权请联系删除