Sql Server 2008 数据库附加错误:9004问题解决方案
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">【问题描述】</a></li><li><a href="#_label1">【解决方法】</a></li></ul></div><p class="maodian"><a name="_label0"></a></p><h2>【问题描述】</h2><p>数据库文件存在异常状况,有可能是因为硬盘有坏区引起的。附加数据库的时候,提示错误9004。</p>
<p class="maodian"><a name="_label1"></a></p><h2>【解决方法】</h2>
<p>假设数据库名称为:UFDATA_001_2023</p>
<p>请按顺序执行以下步骤:<br />1、将数据库的文件名:UFDATA_001_2023复制到别的位置留作备用;<br />2、新建数据库:UFDATA_001_2023;<br />3、关闭SQL SERVER服务;<br />4、删除新新建数据库中的UFDATA_001_2023.mdf文件,并将之前复制的UFDATA_001_2023文件拷贝回来;<br />5、启动SQL SERVER服务;<br />6、执行以下代码:</p>
<div class="jb51code"><pre class="brush:sql;">alter database UFDATA_001_2023 set EMERGENCY
Go
alter database UFDATA_001_2023 set single_user with rollback IMMEDIATE
Go
use master
Go
alter database UFDATA_001_2023 Rebuild Log on (name = UFDATA_001_2023_log, filename = 'C:\U8SOFT\Admin\UFDATA_001_2023_log.ldf')
alTER database UFDATA_001_2023 set Multi_USER</pre></div>
<p>如果出现以下提示说已存在日志文件的话,找到日志文件UFDATA_001_2023_log.ldf并删除,然后重新执行第6步消息 5025,级别 16,状态 1,第 2 行文件 ‘C:\U8SOFT\Admin\UFDATA_001_2023_log.ldf’ 已存在。应该重命名或删除它,以便可以创建新的日志文件。消息 5028,级别 16,状态 2,第 2 行系统无法激活足够的数据库来重建日志。</p>
<p>7、执行以下代码:</p>
<div class="jb51code"><pre class="brush:sql;">ALTER database UFDATA_001_2023 set single_user with rollback IMMEDIATE
Go
dbcc checkdb(UFDATA_001_2023, REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(UFDATA_001_2023, REPAIR_REBUILD)
alter database UFDATA_001_2023 set Multi_USER</pre></div>
<p>8、重启数据库服务!</p>
頁:
[1]