SQL数据库置疑修复说明文档

一, 数据库置疑产生的原因 
二, 数据库置疑的预防 
三, 数据库置疑的修复 
一,数据库置疑产生的原因 
1、 SQL Server所在分区空间是否够?数据库文件大小是否达到最大文件限制? 
FAT32的格式只支持四G以内的文件 
2、 数据库文件损坏或被非正常删除时出现这种情况 
3、 病毒防火墙的扫描也会引起数据库置疑 
4、 当SQL Server启动时,将会尝试获得对数据库文件的排他访问权,如果此时该文件被其他程序占用,或者遗失,数据库将会被标记为置疑。 
5、 电脑非法关机也会造成数据库置疑 
6、 电脑磁盘有坏道有可能造成数据库置疑

二,数据库置疑的预防 
1、 数据库存放的盘符,空间是否够大,经常检查盘符的空间 
2、 数据库存放的盘符的格式设置为NTFS格式 
3、 进行病毒清除时,尽量把SQL服务停掉,再进行检查 
4、 尽量减少非正常关机 
5、 建议客户购买后备电源 
6、 给客户实施软件之后一定要做好自动备份 
7、 建议客户每隔一定时间手动备份一次

三,数据库置疑的修复 
1, 点击后台登录时,如果提示如下图片就有可能表示数据库置疑了

2, 需要确认检查数据库置疑,打开企业管理器中的数据库目录,如下图显示表示置疑

下面所有修复置疑的语法,在没有特别提到时,默认数据库都请选择(Master)数据库) 
3, 修复置疑(必须在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下拉框架内就可以选择所修复的置疑数据库了,此时置疑是修复成功了,但是并不代表此数据库就没有问题了,请暂时不要进软件,我们还需要检查数据库有没有问题。

4, 检查修复置疑好的数据库是否正常 
A、 打开查询分析器选中修复好的数据库名称,输入“dbcc checkdb”语法,再按F5执行,根据数据库的大小执行需要的时间不确定,请耐心等待,执行完之后在显示框内就会显示一些相关内容如下图: 
  
如上图所示,把显示框拖到最下面,如果“CHECKDB 发现了 0 个分配错误和 0 个一致性错误”即表示此数据库已经好了,不用再修复了,客户即可进入软件进行操作了。 
备注:(以下的语法就不用再执行了) 
B、 如果执行“dbcc checkdb”后显示框内显示了很多红色的记录,那么表示这个数据库的有些表还有错误需要修复

5, 修复过程如下:(修复过程中语法内的数据库名称都根据客户使用的数据库进行更改) 
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”操作

D、 拷入如下语法执行: 
 exec sp_MSforeachtable 'dbcc dbreindex(''?'')' 
备注:执行此语法时,此时的“ Master ”数据库名称一定要选择修复的数据库名称,执行才会生效。执行完成之后,再使用“ dbcc checkdb ”语法再检查一次,如果是“发现的是0个分配错误与O个一致性错误”表示修复成功,如果是:“CHECKDB 发现了 N个分配错误和 N个一致性错误” 
表示此数据库坏得很历害,使用此方法已不能修复成功了。必面使用其他方法了。最后不管修复成不成功都要使用下面的语法结尾: 
 Sp_dboption 'zmsoftpos_cs','single User', 'False' 
备注:把之前的单用户模块解除掉

6, 在上面的修复过程中不能解决的问题,再使用BCP命令语法进行修复 
      例:以超市版本为例,超市版本的数据库名称为:zmsoftpos_cs 
A、打开帐套管理新建一个相同的帐套,数据库名称就会是zmsoftpos_cs_01的帐套名称,新建好之后,一定要使用后台登录进去一次,再退出后台。 
B、打开查询分析器,选择好帐套数据库“zmsoftpos_cs”把下面的语法拷进入按F5执行: 
select 'if EXISTS(SELECT * FROM zmsoftpos_cs_01..sysobjects WHERE name = ' + char(39) + name + char(39) +  ')'+char(13)+ 'delete from zmsoftpos_cs_01..'+name from zmsoftpos_cs..sysobjects where type='U'and name not in ('system_sheet_setup','system_mode_file','system_image') order by name 
执行完成之后在下面的显示框架内就会出现如下语法: 
  
使用鼠标左击一下图片中红色圆圈内的按钮,就会选中下面的语法,然后再到红色圆圈内的按钮上点鼠标右键,点击另存为,就会出现如下对话: 
  
其中的保存类型一定要先选择所有文件,然后再到文件名处,填写好如图片中输入的名称,然后点保存!

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 
备注:以上的语法中有一个文件存放路径,“f:\data\”此路径根据实际的情况创建,然后更改过来,再执行。执行之后,按照上面的方法,点击另存为如下图: 
  
其中的保存类型也要先选择所有文件,然后再到文件名中填入如图上的名称:导出数据.bat文件名,然后再点保存,保存的路径一定要是上面语法中设置中文件夹的路径。

D、此时再选择超市版本的zmsoftpos_cs_01的帐套名称,然后在左上角的文件中打开找到之前保存的“删除数据.sql”的文件,把其中的 
”delete from”全部替换成“truncate table”,然后再按F5执行。

E、把D点的语法执行完成之后,还是选择zmsoftpos_cs.01帐套再执行以下的语法: 
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”的文件名,保存到语法的路径文件夹内。

F、以上的步骤操作完成之后,打开以上语法存放的径路,先双击导出数据文件,双击之后就会出现如下对话框架: 
  
此界面表示,正在从原帐套里面把数据导出来,请您静心等待,导出完成之后此界面会自动关闭的。 
等待完成之后,再双击”导入数据.bat”文件,也会出现如上的界面。也请您静心等待,导出完成之后界面也会自动关闭。

G、以上的步骤都完成之后,请把zmsoftpos_cs_01的帐套,备份一次,然后把zmsoftpos_cs与zmsoftpos_cs_01两个帐套都删掉,然后新建超市版本的帐套,把恢复备份的zmsoftpos_cs_01文件,此时您的数据库修复的工作就大功告成了。。

SQL数据库置疑修复说明文档相关推荐

  1. sqlserver日志文件在哪_用友SQL SERVER数据库置疑修复实例

    数据库置疑修复实例 方法1: 企业管理器能够正常分离附加时: 第一步:先把数据库服务停止客户数据SQL SERVER服务停止把软件安装所在目录的账套数据复制一份,以避免操作不当造成的数据丢失. 小提示 ...

  2. Sql server 2005与2008 数据库置疑修复

    SQL2005和SQL2008数据库可疑状态处理,类似于SQL2000的置疑处理 USE MASTER GO//将数据库设成紧急模式 SP_CONFIGURE 'ALLOW UPDATES',1 RE ...

  3. 转贴 :sql数据库置疑:Sql Server数据库置疑的解决

    sql数据库置疑:Sql Server数据库置疑的解决 办法 原因: 通常这个问题是由于硬盘空间不够或硬盘读写错误造成的. 现象: 数据库后面有"置疑"字样,查看系统事务日记出现以 ...

  4. SQL数据库完美恢复 SQL数据库损坏修复

    软件名称:某灯控系统软件商 数据库版本:SQL2005数据库 数据库大小 :10.8GB 故障现象:断电后置疑. 软件商开发商使用命令无法修复该数据库,检测数据库提示: 消息 8921,级别 16,状 ...

  5. SQL2005断电重启数据库置疑修复成功案例

    SQL2005数据库,服务器突然断电,重新启动服务器后,数据库变为"置疑"数据库无法附加失败"修复成功案例 深圳某生产型企业三月底电话咨询我们    SQL SERVER ...

  6. SQL数据库可疑恢复 挂起恢复 置疑恢复 SQL数据库无法附加修复 附加报错 9003

    SQL数据库可疑恢复 挂起恢复 置疑恢复 SQL数据库无法附加修复 附加报错 9003 数据类型 MSSQL 2008R2  数据大小 352 MB 故障检测 服务器几次断电后数据库可疑 无法附加 消 ...

  7. SQL 2000数据库置疑及修复方案

    数据库置疑及修复 数据库置疑处理 提要:在数据库置疑或者修复的处理过程中,须先将文中的数据库更改为真实的数据库名称. 数据库置疑修复处理完成后,需执行第二步骤,使用DBCC语句对数据库进行检测并修复错 ...

  8. 达思SQL数据库修复软件1.7(支持碎片重组、支持勒索病毒加密的sql数据库修复软件)

    达思SQL数据库修复软件(支持碎片重组,支持勒索病毒加密的修复) 达思SQL数据库修复软件 D-Recovery for MS SQL Server 界面 达思SQL数据库修复软件(支持碎片重组,支持 ...

  9. D-RecoverySQLServer2019达思SQL数据库修复软件升级至3.0版

    一.支持的SQL数据库版本: 达思SQL数据库修复软件2019在功能上支持几乎所有的Microsoft SQL Server版本,如: 7.0.2000.2005.2008.2008R2.2012.2 ...

  10. 达思SQL数据库修复软件1.7(支持碎片重组、支持勒索病毒加密的sql数据库修复软件)...

    达思SQL数据库修复软件(支持碎片重组,支持勒索病毒加密的修复) 详细介绍 达思SQL数据库修复软件 D-Recovery for MS SQL Server 界面 达思SQL数据库修复软件(支持碎片 ...

最新文章

  1. 博途v13打开软件时显示连接不到服务器,TIA博途V13软件在打开程序过程中出现以下这种情况,怎么回事?...
  2. PCB板上字母表示的含义
  3. 2021算法竞赛入门班第四节课【搜索】练习题
  4. 在springboot中使用easyexcel导出数据excel表格
  5. 已安装内存和可用内存不一致 4GB内存在win1064位系统中显示为可用 3.87GB解决办法
  6. Python学习心得(二) : 更新列表
  7. 项目管理(5):备战pmp
  8. 图书馆数字化库存管理_将公共领域中的任何图书数字化
  9. Repeater绑定ArrayList数据源
  10. 字符串长度的求解 (3种方法)
  11. 文件系统权限引起IIS站点总跳登录页面
  12. 黑马程序猿 IO流 ByteArrayInputStream与ByteArrayOutputStream
  13. 【D-S证据理论】学习笔记
  14. Windows 7 7601.24291(2019版) 全补丁集成版ISO映像,编译于2018年11月10日
  15. 三菱Q系列PLC大型程序Q01U伺服12轴 实际使用中程序
  16. 关于电解电容ESR的问题
  17. ctp交易接口股票怎么查询历史数据?
  18. [机缘参悟-53]:《素书》-2-俊、豪、杰[正道章第二]
  19. linux线程池的使用
  20. echart报错(Unkown series surface)

热门文章

  1. java实现一台电脑控制多台手机_涨姿势:教你用电脑远程控制多台手机!终于可以挂手机了!...
  2. php文字成图片格式_使用PHP将文字转换成图片的功能实现方法
  3. 简述 Java 垃圾回收机制
  4. 精读-软件测试的艺术之模块测试及更高级别的测试
  5. 如何优雅的快速下载谷歌云盘的大文件 (二)
  6. Ruby 的 FileUtils 模块
  7. 帝国cms会员注册页跳过选择注册会员类型
  8. Particleground 粒子特效插件
  9. [译] MDC-103 Flutter: Material Theming 的颜色、形状、高度和类型(Flutter)
  10. Mysql 配置文件常见配置