SQL数据库置疑的解决方法

上传人:豆浆 文档编号:23881981 上传时间:2017-12-03 格式:DOC 页数:10 大小:158KB
返回 下载 相关 举报
SQL数据库置疑的解决方法_第1页
第1页 / 共10页
SQL数据库置疑的解决方法_第2页
第2页 / 共10页
SQL数据库置疑的解决方法_第3页
第3页 / 共10页
SQL数据库置疑的解决方法_第4页
第4页 / 共10页
SQL数据库置疑的解决方法_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《SQL数据库置疑的解决方法》由会员分享,可在线阅读,更多相关《SQL数据库置疑的解决方法(10页珍藏版)》请在金锄头文库上搜索。

1、SQL2000 数据库置疑的解决方法首先, 在任何操作之前, 必须要备份数据库 (重要)一、分离数据库1、点击“程序Microsoft SQL Server企业管理”,打开企业管理器2、展开服务器组,然后展开服务器,选中要分离的数据库3、点击鼠标右键“所有任务分离数据库”,出现如下窗口4、点击确定,该选定的数据库就被分离。5.分离后,把原数据库里面 .MDF(主数据文件).LDF(事务日志文件) 这两个文件复制到目标盘下,例:D 盘下注意事项,只有“使用本数据库的连接”数为 0 时,该数据库才能分离。所以分离数据库时尽量断开所有对要分离数据库操作的连接,如果还有连接数据库的程序,会出现数据库的

2、连接状态窗口,显示正在连接此数据库的机器以及名称,点击清除按钮将从服务器强制断开现有的连接。二、附加数据库1、在附加数据库之前,首先要移动数据库文件在附加数据库之前,您必须将与数据库关联的 .MDF(主数据文件).LDF(事务日志文件) 这两个文件复制到目标硬盘下,或是同一服务器的不同硬盘目录下。这两个文件一般位于 C:Program FilesMicrosoft SQL ServerMSSQLData目录下。2、点击“程序Microsoft SQL Server企业管理”,打开企业管理器3、展开服务器组,然后展开服务器4、右击数据库,然后选择“所有任务附加数据库”,弹出窗口5、输入要附加的数

3、据库的 MDF 名称。如果不确定文件位于何处,单击浏览(.)搜索。若要确保指定的 MDF 文件正确,请单击验证。在附加为框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相同。指定数据库的所有者6、单击确定按钮。新附加的数据库的数据库节点即创建在数据库文件夹中重启双机1.此时数据库分离,附加完成,必须重启一次双机修复置疑1,双机重启后,数据库置疑下面所有修复置疑的语法,在没有特别提到时,默认数据库都请选择(Master)数据库)2,修复置疑(必须在 SQL 的查询分析器中才能进行数据修复置疑工作)A、 打开查询分析器,当数据置疑之后在查询分析器中是看不到置疑的数据库名称的,所以进入查询

4、分析器之后,所选数据库默认(Master)数据库即可。 (复制下面置疑语法到查询分析器中执行。-修复数据库置疑的语法SP_configure allow update,1goRECONFIGURE WITH OVERRIDEgoupdate sysdatabasesset status=-32768where name=zmsoftpos_cs-数据库名称godbcc rebuild_log(zmsoftpos_cs,D:zmsoftpos_cs_log)-重新建立日志Goupdate sysdatabasesset status=26where name=zmsoftpos_csGoSp_c

5、onfigure allow update,0GoReconfigure with overrideGO备注:其中所有的“zmsoftpos_cs”是置疑的数据库名称,请根据客户实际的置疑数据库进行更改名称,其他的内容不变B、 拷入置疑语法之后,请按 F5 执行,如果显示框内显示的内容如下表示置疑修复成功C、 置疑修复成功之后,再到如上图的 master 下拉框架内就可以选择所修复的置疑数据库了,此时置疑是修复成功了,但是并不代表此数据库就没有问题了,请暂时不要进软件,我们还需要检查数据库有没有问题。3,检查修复置疑好的数据库是否正常D、 打开查询分析器选中修复好的数据库名称,输入“dbcc

6、checkdb”语法,再按 F5 执行,根据数据库的大小执行需要的时间不确定,请耐心等待,执行完之后在显示框内就会显示一些相关内容如下图:A:如上图所示,把显示框拖到最下面,如果“CHECKDB 发现了 0 个分配错误和 0 个一致性错误”即表示此数据库已经好了,不用再修复了,客户即可进入软件进行操作了。备注:(以下的语法就不用再执行了)修复数据库只限于 DBO 使用, 执行以下命令( 解除单用户模式 )Sp_dboption zmsoftpos_cs,single User, FalseB:如果执行“dbcc checkdb”后显示框内显示了很多红色的记录,那么表示这个数据库的有些表还有错误

7、需要修复2, 修复过程如下:(修复过程中语法内的数据库名称都根据客户使用的数据库进行更改)A、 首先退出所有的客户端软件与企业管理器,只打开查询分析器,默认数据库“Master”,拷入如下语法执行:sp_dboption zmsoftpos_cs,single user,true备注:其中的数据库名称根据客户使用的数据库进行更改。此语法是把数据库设置为“单用户模式”B、 设置为单用户模式之后,拷入如下语法进行多次执行dbcc checkdb(zmsoftpos_cs,REPAIR_REBUILD)备注:数据库名称根据客户使用的数据库进行更改。此语法可以多次执行,也需要多次执行,每执行完一次拖到

8、显示框内的最后面如果“发现的是 0个分配错误与 O 个一致性错误”就不用再修复了,只需执行下面语法即可Sp_dboption zmsoftpos_cs,single User, False,备注:下面的语法也不需执行了。如果执行多次之后:“CHECKDB 发现了 N 个分配错误和 N 个一致性错误”不会再次减少时,表示此语法修复不成功,需要进行下面的修复过程。C、 再把下面语法拷进入,进行多次执行:dbcc checkdb (zmsoftpos_cs,REPAIR_allow_data_loss)备注:此语法的执行与上面“ B ”点中执行的语法过程一样,执行到此步骤百分之九十以上的数据库都是可

9、以修复的。如果执行到最后分配错误与一致性错误还不减少,那么执行下面的”D”操作D、 拷入如下语法执行:exec sp_MSforeachtable dbcc dbreindex(?)备注:执行此语法时,此时的“ Master ”数据库名称一定要选择修复的数据库名称,执行才会生效。执行完成之后,再使用“ dbcc checkdb ”语法再检查一次,如果是“发现的是 0 个分配错误与 O 个一致性错误”表示修复成功,如果是:“CHECKDB 发现了 N 个分配错误和 N 个一致性错误”表示此数据库坏得很历害,使用此方法已不能修复成功了。必面使用其他方法了。最后不管修复成不成功都要使用下面的语法结尾

10、:Sp_dboption zmsoftpos_cs,single User, False备注:把之前的单用户模块解除掉3, 在上面的修复过程中不能解决的问题,再使用 BCP 命令语法进行修复例:以超市版本为例,超市版本的数据库名称为:zmsoftpos_csA、打开帐套管理新建一个相同的帐套,数据库名称就会是zmsoftpos_cs_01 的帐套名称,新建好之后,一定要使用后台登录进去一次,再退出后台。B、打开查询分析器,选择好帐套数据库“zmsoftpos_cs”把下面的语法拷进入按 F5 执行:select if EXISTS(SELECT * FROM zmsoftpos_cs_01.s

11、ysobjects WHERE name = + char(39) + name + char(39) + )+char(13)+ delete from zmsoftpos_cs_01.+name from zmsoftpos_cs.sysobjects where type=Uand name not in (system_sheet_setup,system_mode_file,system_image) order by name执行完成之后在下面的显示框架内就会出现如下语法:使用鼠标左击一下图片中红色圆圈内的按钮,就会选中下面的语法,然后再到红色圆圈内的按钮上点鼠标右键,点击另存为,

12、就会出现如下对话:其中的保存类型一定要先选择所有文件,然后再到文件名处,填写好如图片中输入的名称,然后点保存!C、以上的语法另存为之后,再拷入以下的语法执行:select bcp zmsoftpos_cs.+name+ out f:data+name+.txt -c -S127.0.0.1 -Usa_ -P422426362227001 from zmsoftpos_cs.sysobjects where xtype=U and name not in (system_sheet_setup,system_mode_file,system_image) order by name备注:以上的语

13、法中有一个文件存放路径, “f:data”此路径根据实际的情况创建,然后更改过来,再执行。执行之后,按照上面的方法,点击另存为如下图:其中的保存类型也要先选择所有文件,然后再到文件名中填入如图上的名称:导出数据.bat 文件名,然后再点保存,保存的路径一定要是上面语法中设置中文件夹的路径。D、此时再选择超市版本的 zmsoftpos_cs_01 的帐套名称,然后在左上角的文件中打开找到之前保存的“删除数据.sql”的文件,把其中的”delete from”全部替换成“truncate table” ,然后再按 F5 执行。E、把 D 点的语法执行完成之后,还是选择 zmsoftpos_cs.0

14、1 帐套再执行以下的语法:select bcp zmsoftpos_cs_01.+name+ in f:data+name+.txt -c -S127.0.0.1 -Usa_ -P422426362227001 from zmsoftpos_cs.sysobjects where xtype=U and name not in (system_sheet_setup,system_mode_file,system_image) order by name其中的路径 f:data一定要与“ C ”点中的路径一致。按 F5 执行之后,按照 C 点的步骤,把显示框内的语法另存为“导入数据.bat”的

15、文件名,保存到语法的路径文件夹内。F、以上的步骤操作完成之后,打开以上语法存放的径路,先双击导出数据文件,双击之后就会出现如下对话框架:此界面表示,正在从原帐套里面把数据导出来,请您静心等待,导出完成之后此界面会自动关闭的。等待完成之后,再双击”导入数据.bat”文件,也会出现如上的界面。也请您静心等待,导出完成之后界面也会自动关闭。G、以上的步骤都完成之后,请把 zmsoftpos_cs_01 的帐套,备份一次,然后把 zmsoftpos_cs 与 zmsoftpos_cs_01 两个帐套都删掉,然后新建超市版本的帐套,把恢复备份的 zmsoftpos_cs_01 文件,此时您的数据库修复的工作就大功告成了。 。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号