SQL数据库置疑的解决方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL2000数据库置疑的解决方法

首先,在任何操作之前,必须要备份数据库(重要)

一、分离数据库

1、点击“程序》Microsoft SQL Server》企业管理》”,打开企业管理器

2、展开服务器组,然后展开服务器,选中要分离的数据库

3、点击鼠标右键“所有任务》分离数据库”,出现如下窗口

4、点击确定,该选定的数据库就被分离。

5.分离后,把原数据库里面.MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标盘下,例:D盘下

注意事项,只有“使用本数据库的连接”数为0时,该数据库才能分离。所以分离数据库时尽量断开所有对要分离数据库操作的连接,如果还有连接数据库的程序,会出现数据库的连接状态窗口,显示正在连接此数据库的机器以及名称,点击清除按钮将从服务器强制断开现有的连接。

二、附加数据库

1、在附加数据库之前,首先要移动数据库文件

在附加数据库之前,您必须将与数据库关联的 .MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标硬盘下,或是同一服务器的不同硬盘目录下。这两个文件一般位于C:\Program Files\Microsoft SQL Server\MSSQL\Data

目录下。

2、点击“程序》Microsoft SQL Server》企业管理》”,打开企业管理器

3、展开服务器组,然后展开服务器

4、右击"数据库",然后选择“所有任务》附加数据库”,弹出窗口

5、输入要附加的数据库的MDF名称。如果不确定文件位于何处,单击浏览("...")搜索。若要确保指定的 MDF 文件正确,请单击"验证"。在"附加为"框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相同。指定数据库的所有者

6、单击"确定"按钮。新附加的数据库的数据库节点即创建在"数据库"文件夹中

重启双机

1.此时数据库分离,附加完成,必须重启一次双机

修复置疑

1,双机重启后,数据库置疑

下面所有修复置疑的语法,在没有特别提到时,默认数据库都请选择(Master)数据库)

2,修复置疑(必须在SQL的查询分析器中才能进行数据修复置疑工作)

A、打开查询分析器,当数据置疑之后在查询分析器中是看不到置疑的数据

库名称的,所以进入查询分析器之后,所选数据库默认(Master)数据

库即可。(复制下面置疑语法到查询分析器中执行。

--修复数据库置疑的语法

SP_configure 'allow update',1

go

RECONFIGURE WITH OVERRIDE

go

update sysdatabases

set status=-32768

where name='zmsoftpos_cs'--数据库名称

go

dbcc rebuild_log('zmsoftpos_cs','D:\zmsoftpos_cs_log')--重新建立

日志

Go

update sysdatabases

set status=26

where name='zmsoftpos_cs'

Go

Sp_configure 'allow update',0

Go

Reconfigure with override

GO

备注:其中所有的“zmsoftpos_cs”是置疑的数据库名称,请根据客户实

际的置疑数据库进行更改名称,其他的内容不变

B、拷入置疑语法之后,请按F5执行,如果显示框内显示的内容如下表示

置疑修复成功

C、置疑修复成功之后,再到如上图的master下拉框架内就可以选择所修

复的置疑数据库了,此时置疑是修复成功了,但是并不代表此数据库就

没有问题了,请暂时不要进软件,我们还需要检查数据库有没有问题。3,检查修复置疑好的数据库是否正常

D、打开查询分析器选中修复好的数据库名称,输入“dbcc checkdb”语法,

再按F5执行,根据数据库的大小执行需要的时间不确定,请耐心等待,

执行完之后在显示框内就会显示一些相关内容如下图:

A:如上图所示,把显示框拖到最下面,如果“CHECKDB 发现了 0 个分配错误和 0 个一致性错误”即表示此数据库已经好了,不用再修复了,客户即可进入软件进行操作了。

备注:(以下的语法就不用再执行了)

修复数据库只限于DBO使用,执行以下命令(解除单用户模式)

Sp_dboption 'zmsoftpos_cs','single User', 'False'

B:如果执行“dbcc checkdb”后显示框内显示了很多红色的记录,那么表示这个数据库的有些表还有错误需要修复

2,修复过程如下:(修复过程中语法内的数据库名称都根据客户使用的数据库进行更改)

A、首先退出所有的客户端软件与企业管理器,只打开查询分析器,默认数

据库“Master”,拷入如下语法执行:

sp_dboption 'zmsoftpos_cs','single user','true'

备注:其中的数据库名称根据客户使用的数据库进行更改。此语法是把数

据库设置为“单用户模式”

B、设置为单用户模式之后,拷入如下语法进行多次执行

dbcc checkdb(zmsoftpos_cs,REPAIR_REBUILD)

备注:数据库名称根据客户使用的数据库进行更改。此语法可以多次执行,

也需要多次执行,每执行完一次拖到显示框内的最后面如果“发现的是0

个分配错误与O个一致性错误”就不用再修复了,只需执行下面语法即可

Sp_dboption 'zmsoftpos_cs','single User', 'False',

备注:下面的语法也不需执行了。

如果执行多次之后:“CHECKDB 发现了 N个分配错误和 N个一致性错误”

不会再次减少时,表示此语法修复不成功,需要进行下面的修复过程。

C、再把下面语法拷进入,进行多次执行:

dbcc checkdb ('zmsoftpos_cs',REPAIR_allow_data_loss)

备注:此语法的执行与上面“ B ”点中执行的语法过程一样,执行到此步

骤百分之九十以上的数据库都是可以修复的。如果执行到最后分配错误与

一致性错误还不减少,那么执行下面的”D”操作

相关文档
最新文档