SQL数据库置疑的解决方法
- 格式:doc
- 大小:158.00 KB
- 文档页数:11
S Q L数据库置疑解决方案(原因、预防、修复)附图-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIANSQL数据库置疑解决方案一、数据库置疑产生的原因1、SQL Server所在分区空间是否够?数据库文件大小是否达到最大文件限制?FAT32的格式只支持4G以内的文件。
2、数据库文件损坏或被非正常删除时出现这种情况。
3、病毒防火墙的扫描也会引起数据库置疑。
4、当SQL Server启动时,将会尝试获得对数据库文件的排他访问权,如果此时该文件被其他程序占用,或者遗失,数据库将会被标记为置疑。
5、电脑非法关机也会造成数据库置疑。
6、电脑磁盘有坏道有可能造成数据库置疑。
二、数据库置疑的预防1、数据库存放的盘符,空间是否够大,经常检查盘符的空间。
2、数据库存放的盘符的格式设置为NTFS格式。
3、进行病毒清除时,尽量把SQL服务停掉,再进行检查。
4、尽量减少非正常关机。
5、建议客户购买后备电源。
6、给客户实施软件之后一定要做好自动备份。
7、建议客户每隔一定时间手动备份一次。
三、数据库置疑的修复1、正常的备份、SQL数据库恢复方式正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。
卸下数据库的命令:Sp_detach_db 数据库名连接数据库的命令:Sp_attach_db或者sp_attach_single_file_dbs_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16]sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′使用此方法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。
用友软件SQL数据库置疑修复文档背景2021年4月,发现公司用友软件的SQL数据库出现了一些置疑的情况,例如数据表数据不一致等问题。
经过初步调查,发现是由于数据库在一段时间内没有正常备份导致的问题。
因此,需要对数据库进行修复工作,以确保数据的完整性和准确性。
修复步骤1. 备份数据库在进行修复工作前,首先要备份数据库,以免操作失误导致数据丢失。
可以使用SQL Server Management Studio等工具来进行数据库备份。
2. 查找问题点查找问题点是修复工作的核心。
可以通过以下步骤进行操作:1.使用SQL Server Management Studio查看数据表的结构和数据;2.比对不同时间点的数据表数据,查找数据不一致的点;3.查看SQL Server的日志文件,查找异常的SQL语句。
通过以上步骤可以发现置疑的数据表以及具体出现问题的时间点和SQL语句。
3. 进行修复操作修复操作需要严格按照以下步骤进行:1.暂停所有与数据库相关的应用程序;2.使用SQL Server Management Studio等工具,逐条运行SQL语句,对数据表进行修复;3.重启所有与数据库相关的应用程序。
在进行修复工作前,需要对每一条SQL语句进行仔细的检查和确认,确保语句正确无误,否则可能导致数据更加混乱。
4. 检查修复效果修复操作完成后,需要进行检查,以确保修复效果符合预期。
可以通过以下步骤进行操作:1.使用SQL Server Management Studio查看数据表的结构和数据;2.比对不同时间点的数据表数据,查看修复效果;3.重启所有与数据库相关的应用程序,查看是否存在问题。
如果修复后仍存在问题,则需要重新查找问题点,并进行修复操作,直到修复效果符合预期。
注意事项在进行数据库修复工作时,需要注意以下几点:1.备份数据库是重要的保证,不能忽视;2.SQL语句需要仔细检查,以免操作失误导致数据问题更加严重;3.修复操作需要停止所有与数据库相关的应用程序,确保数据准确性。
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)数据库即可。
SQl数据库状态为置疑,只读\脱机\紧急模式时的解决办法SQl数据库状态为置疑,只读\脱机\紧急模式时的解决办法2010-05-08 18:44这是SQL2000常遇到的错误,楼主按照以下方法修复,修复完,检查一下数据库是否已完全修复,没完全修复时最低都可导出数据,要用数据库生成一个空库脚本,把修复数据库的数据用DTS导入到新库。
A.建立一个供恢复使用的数据库我们使用默认方式建立一个供恢复使用的数据库(如iBusinessWork)。
可以在SQL Server Enterprise Manager 里面建立。
B.停掉数据库服务器。
C.调整数据库与日志文件.将刚才生成的数据库的日志文件iBusinessWork_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件iBusinessWork_data.mdf。
D.启动数据库服务器。
此时会看到数据库iBusinessWork的状态为“置疑”。
这时候不能对此数据库进行任何操作。
E.设置数据库允许直接操作系统表。
use mastergosp_configure 'allow updates',1goreconfigure with overridegoF.设置iBusinessWork为紧急修复模式update sysdatabases set status=-32768 where dbid=DB_ID('iBusinessWork')关闭打开企业管理器,此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表G.下面执行真正的恢复操作,重建数据库日志文件dbcc rebuild_log('iBusinessWork','E:\Microsoft SQL Server\Data\iBusinessWork_log.ldf')执行过程中,如果遇到下列提示信息:服务器: 消息5030,级别16,状态1,行 1未能排它地锁定数据库以执行该操作。
SQL置疑数据库处理方法:1.新建一个同名的数据库。
2.停掉sql server(注意不要分离数据库)。
3.用原数据库(质疑的那个)的数据文件覆盖掉这个新建的数据库文件。
(以上1、2、3步骤是针对把质疑数据库文件放到另外的计算机处理的情况,如果就在本机处理,可以省略,但在处理前一定要注意备份数据库文件。
)4.再重启sql server。
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)。
USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEGOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'Gosp_dboption '置疑的数据库名', 'single user', 'true'GoDBCC CHECKDB('置疑的数据库名')Goupdate sysdatabases set status =28 where name='置疑的数据库名'Gosp_configure 'allow updates', 0 reconfigure with overrideGosp_dboption '置疑的数据库名', 'single user', 'false'Go6.完成后一般就可以访问数据库中的数据了;这时,数据库本身一般还要问题,解决办法是利用数据库的脚本创建一个新的数据库,并将数据导进去就行了,或者把数据库导成一个新库来代替旧库,先把数据导出,然后重启计算机后再导入就OK了。
步骤如下:企业管理器--右键你的数据库--所有任务--导出数据(导入数据)--目标标数据库选择新建--选择"在两个sql数据库之间复制对象和数据"--把"包含扩展属性"选上,其他的根据需要选择--最后完成。
s q l s e r v e r2000数据库置疑的4种解决方法本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.Marchsqlserver2000 数据库置疑的4种解决方法方法一:1.停止SQL Server的服务,然后备份MS SQL Server的安装目录下的\data 子目录.注意:整个目录目录备份或只备份data目录下置疑数据库的两个文件,一个数据文件,一个(也有可能非此命名),同时查看磁盘空间是否有足够的空间;2.启用SQL Server的服务。
打开查询分析器(Query Analyzer)的工具,以用户sa登录;3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5),use mastergosp_resetstatus dbnamego4.运行完毕后退出此工具,停止SQL Server的服务.5.在MS SQL Server的安装目录下,有一个\data子目录,其中存放数据文件,包括SQL Server和本系统的数据文件,删除置疑数据库的日志文件(也有可能非此命名).6.启动SQL Server的服务.7.打开企业管理器(Enterprise Manager)的工具,查看数据库(database)节点下的dbname是否恢复。
注:请将 dbname 换成你的数据库名称.方法二1.查看磁盘空间,保证存放数据库的磁盘有足够的剩余空间;2.打开SQL Server的查询分析器(Query Analyzer),以用户 sa 登录;3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5),运行完毕后退出此工具.use mastergosp_resetstatus dbnamego4.停止SQL Server 的服务,再重新启动SQL Server 服务.5.打开SQL Server 的查询分析器(Query Analyzer),以用户 sa 登录。
SQL数据库置疑解决方案一、数据库置疑产生的原因1、SQL Server所在分区空间是否够?数据库文件大小是否达到最大文件限制?FAT32的格式只支持4G以内的文件。
2、数据库文件损坏或被非正常删除时出现这种情况。
3、病毒防火墙的扫描也会引起数据库置疑。
4、当SQL Server启动时,将会尝试获得对数据库文件的排他访问权,如果此时该文件被其他程序占用,或者遗失,数据库将会被标记为置疑。
5、电脑非法关机也会造成数据库置疑。
6、电脑磁盘有坏道有可能造成数据库置疑。
二、数据库置疑的预防1、数据库存放的盘符,空间是否够大,经常检查盘符的空间。
2、数据库存放的盘符的格式设置为NTFS格式。
3、进行病毒清除时,尽量把SQL服务停掉,再进行检查。
4、尽量减少非正常关机。
5、建议客户购买后备电源。
页脚内容16、给客户实施软件之后一定要做好自动备份。
7、建议客户每隔一定时间手动备份一次。
三、数据库置疑的修复1、正常的备份、SQL数据库恢复方式正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。
卸下数据库的命令:Sp_detach_db 数据库名连接数据库的命令:Sp_attach_db或者sp_attach_single_file_dbs_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′[,...16]sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′使用此方法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。
例子:假设数据库为pdm,其数据文件为pdm_data.mdf,日志文件为pdm_log.ldf。
SQL数据库置疑解决方法
一、SQL数据库置疑
1.数据库安全问题
为了保护数据库,需要确保数据库中的信息不被恶意攻击、篡改或盗窃,从而避免造成不可挽回的损失。
2.数据库可靠性问题
可靠性是指数据库系统必须在不同的时间片段可靠运行,即使是在发生系统故障的情况下,用户也能够一直获取服务。
只有数据库系统可靠性良好,才能够实现数据库系统的高安全性要求。
3.数据库性能问题
要满足用户的需求,必须保证数据库服务器能够达到最佳性能,避免出现数据库访问运行缓慢的问题,以及查询数据库时出现的查询延时、查询次数多等问题。
4.数据库维护问题
数据库系统是一个复杂的系统,在日常运行中难免会出现数据库系统故障、业务变更需求等情况。
数据库系统维护对于保证系统可靠性,提高系统性能至关重要。
1.数据库安全问题
(1)做好安全设置,为数据库设置正确的授权,只允许拥有访问权限的用户进行访问,并设置访问日志,记录访问和更改的用户,以及操作的时间等信息。
(2)定期备份数据库,将备份数据存放到安全的位置。
sqlserver2000 数据库置疑的4种解决方法方法一:1.停止SQL Server的服务,然后备份MS SQL Server的安装目录下的\data子目录.注意:整个目录目录备份或只备份data目录下置疑数据库的两个文件,一个数据文件dbname_data.mdf,一个dbname_log.ldf(也有可能非此命名),同时查看磁盘空间是否有足够的空间;2.启用SQL Server的服务。
打开查询分析器(Query Analyzer)的工具,以用户sa登录;3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5),use mastergosp_resetstatus dbnamego4.运行完毕后退出此工具,停止SQL Server的服务.5.在MS SQL Server的安装目录下,有一个\data子目录,其中存放数据文件,包括SQL Server 和本系统的数据文件,删除置疑数据库的日志文件dbname_log.ldf(也有可能非此命名).6.启动SQL Server的服务.7.打开企业管理器(Enterprise Manager)的工具,查看数据库(database)节点下的dbname是否恢复。
注:请将dbname 换成你的数据库名称.方法二1.查看磁盘空间,保证存放数据库的磁盘有足够的剩余空间;2.打开SQL Server的查询分析器(Query Analyzer),以用户sa 登录;3.输入如下指令后点工具栏上的绿色箭头运行(快捷键F5),运行完毕后退出此工具.use mastergosp_resetstatus dbnamego4.停止SQL Server 的服务,再重新启动SQL Server 服务.5.打开SQL Server 的查询分析器(Query Analyzer),以用户sa 登录。
输入如下指令后点工具栏上的绿色箭头运行,运行完毕后退出此工具:use mastergoDBCC DBRECOVER (dbname)go6.打开SQL Server 的企业管理器(Enterprise Manager),查看database下的dbname是否恢复。
MSSQL数据库置疑的说明及修复方法✧M SSQL 官方对suspect(‘置疑’,SQL2005中文为‘可疑’)状态的解释:“至少主文件组可疑或可能已损坏。
在SQL Server 启动过程中无法恢复数据库。
数据库不可用。
需要用户另外执行操作来解决问题。
”✧S QL Server 数据库置疑通常由于以下几种情况导致:1、因SQL服务意外退出导致数据库置疑,例如突然断电导致数据库日志文件损坏,下次启动后数据库变为置疑状态。
2、数据库文件所在的磁盘分区没有可用空间,导致恢复数据库的操作不能完成,数据库变为置疑状态。
3、数据库文件组已满,这种情况通常发生在MSDE或SQL 2005 Express,因为它们对数据库文件限制了大小,不超过2G或4G;当单个的数据库文件接近2G或4G很容易出现数据库置疑的情况;另外,当数据库文件所在磁盘分区格式为FAT32时,也有可能出现这种情况,FAT32格式的磁盘分区单个文件不能超过4G,当单个的数据库文件接近4G很容易出现数据库置疑的情况。
4、数据库文件设置为不自动增长,或设置为自动增长但限制了文件大小。
5、此外,其它非法的操作也有可能导致数据库置疑。
✧以下提供几种解决V3数据库置疑的办法:解决客户那里出现数据库置疑通常使用第一或第二种方法,解决问题时请根据实际情况处理提示:按以下方法修复数据库后,还需要用户密切观察一下V3服务器是否能正常运行、服务器是否有出错;查看服务器是否有出错可以右击服务管理器-‘工具’-‘日志’,在弹出的事件日志窗口中,查看应用程序日志中是否有OSERVER3的错误信息;如果有出错信息可能会出现数据收集不完整等问题,请即时联系我们解决。
问题一:SQL 2005 数据库置疑的解决方法SQL SERVER 2005,数据库置疑,可以尝试通过以下办法解决:--第一步:新建查询,执行以下SQL 语句;USE masterGOSP_CONFIGURE'ALLOW UPDATE',GORECONFIGURE WITH OVERRIDEGOALTER DATABASE OCULAR3 SET EMERGENCY--设置OCULAR3为紧急模式GOSP_DBOPTION'OCULAR3','SINGLE USER','TRUE'--设置OCULAR3为单用户模式GO--第二步:继续执行以下SQL语句DBCC CHECKDB('OCULAR3')--检查数据库的结构完整性,可能需要比较长时间GO--第三步:继续执行以下SQL语句DBCC CHECKDB('OCULAR3','REPAIR_ALLOW_DATA_LOSS')--修复数据库,可能需要比较长时间;执行到这一步,如果提示需要在单用户模式下运行,那么可以重启一下SQL SERVER服务再执行;GO--第四步:SP_DBOPTION'OCULAR3','SINGLE USER','FALSE'--设置OCULAR3为多用户模式GOALTER DATABASE OCULAR3 SET ONLINE--设置OCULAR3为正常模式GOSP_CONFIGURE'ALLOW UPDATE',0GORECONFIGURE WITH OVERRIDEGO--第五步:继续执行以下SQL语句DBCC CHECKDB('OCULAR3')–再次检查数据库的结构完整性GO问题二:SQL SERVER 2000,因为断电导致数据库被破坏而置疑,可以通过以下办法解决:--第一步:新建查询,执行以下SQL 语句;USE masterGOSP_CONFIGURE'ALLOW UPDATE',1GORECONFIGURE WITH OVERRIDEGO--设置数据库为紧急模式UPDATE sysdatabases SET status= 32768 WHERE name='OCULAR3'GOSP_DBOPTION'OCULAR3','SINGLE USER','TRUE'--设置OCULAR3为单用用户模式GO--第二步:继续执行以下SQL语句DBCC REBUILD_LOG('OCULAR3','d:\ocular3_log_log.ldf')--重建日志文件,--通常重建的日志文件放在与其它数据库文件相同目录下。
SQL数据库置疑修复是一个复杂且细致的过程,需要数据库管理员具备丰富的经验和技能。
当数据库置疑时,通常意味着数据库的结构或数据可能已损坏,因此需要使用特定的修复语句和步骤来尝试恢复。
以下是一个关于SQL数据库置疑修复的详细指南,包括可能使用的修复语句和步骤。
修复前的准备备份数据库:在进行任何修复操作之前,务必先备份置疑的数据库。
这是为了防止进一步的数据丢失,如果修复操作不成功,还可以从备份中恢复数据。
评估损坏程度:使用DBCC CHECKDB命令检查数据库的完整性,并确定损坏的程度。
例如:sqlDBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS;这个命令会返回有关数据库中任何错误或不一致性的信息。
修复过程根据损坏的程度和类型,可以尝试以下修复步骤:使用REPAIR_REBUILD修复:如果损坏的是索引,可以使用REPAIR_REBUILD选项尝试修复。
例如:sqlDBCC CHECKDB('YourDatabaseName', REPAIR_REBUILD);这个命令会尝试重建损坏的索引。
可以多次执行此命令,直到没有更多的修复动作为止。
2. 使用REPAIR_ALLOW_DATA_LOSS修复:如果REPAIR_REBUILD无法解决问题,或者存在更严重的数据损坏,可以使用REPAIR_ALLOW_DATA_LOSS选项。
但请注意,这个选项可能会导致数据丢失。
例如:sqlDBCC CHECKDB('YourDatabaseName', REPAIR_ALLOW_DATA_LOSS);在执行此命令之前,请务必确保已经备份了数据库,并且了解可能的数据丢失风险。
3. 其他修复方法:如果上述方法均无法解决问题,可能需要考虑更复杂的修复策略,如恢复备份、使用第三方工具或寻求专家的帮助。
寒山sql数据库修复中心/MSSQL 数据库置疑的说明及修复方法MSSQL官方对suspect(‘置疑’,SQL2005 中文为‘可疑’)状态的解释:至少主文件组可“疑或可能已损坏。
在SQL Server 启动过程中无法恢复数据库。
数据库不可用。
需要用户另外执行操作来解决问题。
”SQL Server1、数据库置疑通常由于以下几种情况导致:因SQL 服务意外退出导致数据库置疑,例如突然断电导致数据库日志文件损坏,下次启动后数据库变为置疑状态。
数据库文件所在的磁盘分区没有可用空间,导致恢复数据库的操作不能完成,数据库变为置疑状态。
数据库文件组已满,这种情况通常发生在MSDE 或SQL 2005 Express,因为它们对数据库文件限制了大小,不超过2G 或4G;当单个的数据库文件接近2G 或4G 很容易出现数据库置疑的情况;另外,当数据库文件所在磁盘分区格式为FAT32 时,也有可能出现这种情况,FAT32 格式的磁盘分区单个文件不能超过4G,当单个的数据库文件接近4G 很容易出现数据库置疑的情况。
2、3、4、5、数据库文件设置为不自动增长,或设置为自动增长但限制了文件大小。
此外,其它非法的操作也有可能导致数据库置疑。
以下提供几种解决V3 数据库置疑的办法:解决客户那里出现数据库置疑通常使用第一或第二种方法,解决问题时请根据实际情况处理提示:按以下方法修复数据库后,还需要用户密切观察一下V3 服务器是否能正常运行、服务器是否有出错;查看服务器是否有出错可以右击服务管理器-‘工具’-‘日志’,在弹出的事件日志窗口中,查看应用程序日志中是否有OSERVER3 的错误信息;如果有出错信息可能会出现数据收集不完整等问题,请即时联系我们解决。
问题一:SQL 2005 数据库置疑的解决方法SQL SERVER 2005,数据库置疑,可以尝试通过以下办法解决:--第一步:新建查询,执行以下SQL 语句;USE master GOAchao_hupu 第1 页Created on 8/31/2008 11:43:00 AMSP_CONFIGURE 'ALLOW UPDATE',1 GO RECONFIGURE WITH OVERRIDE GO ALTER DATABASE OCULAR3 SET EMERGENCY --设置OCULAR3 为紧急模式GO SP_DBOPTION 'OCULAR3','SINGLE USER', 'TRUE' --设置OCULAR3 为单用户模式GO --第二步:继续执行以下SQL 语句DBCC CHECKDB('OCULAR3') --检查数据库的结构完整性,可能需要比较长时间GO --第三步:继续执行以下SQL 语句DBCC CHECKDB('OCULAR3','REPAIR_ALLOW_DA TA_LOSS') --修复数据库,可能需要比较长时间;执行到这一步,如果提示需要在单用户模式下运行,那么可以重启一下SQL SERVER 服务再执行;GO --第四步: SP_DBOPTION 'OCULAR3','SINGLE USER', 'FALSE' --设置OCULAR3 为多用户模式GO ALTER DATABASE OCULAR3 SET ONLINE --设置OCULAR3 为正常模式GO SP_CONFIGURE 'ALLOW UPDATE',0 GO RECONFIGURE WITH OVERRIDE GO --第五步:继续执行以下SQL 语句DBCC CHECKDB('OCULAR3') –再次检查数据库的结构完整性GO问题二:SQL SERVER 2000,因为断电导致数据库被破坏而置疑,可以通过以下办法解决:--第一步:新建查询,执行以下SQL 语句;USE master GO SP_CONFIGURE 'ALLOW UPDATE',1 GO RECONFIGURE WITH OVERRIDE GO --设置数据库为紧急模式UPDATE sysdatabases SET status = 32768 WHERE name = 'OCULAR3' GO SP_DBOPTION 'OCULAR3','SINGLE USER', 'TRUE' --设置OCULAR3 为单用用户模式GO --第二步:继续执行以下SQL 语句DBCC REBUILD_LOG('OCULAR3','d:\ocular3_log_log.ldf') --重建日志文件,--通常重建的日志文件放在与其它数据库文件相同目录下。
数据库置疑状态的解决方法问题:我的SQL Server 2000的MSDB数据库,因为不正常关机,造成了置疑状态,请问采用什么方法能够弥补?解决方法一:你可以采用以下的代码进行修复:USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1RECONFIGURE WITH OVERRIDEGOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='msdb' Gosp_dboption 'msdb', 'single user', 'true'GoDBCC CHECKDB('msdb')Goupdate sysdatabases set status =28 where name='msdb'Gosp_configure 'allow updates', 0reconfigure with overrideGosp_dboption 'msdb', 'single user', 'false'Go解决方法二:MSDB数据库解决过程难点:由于MSDB数据库不能删除,将其文件拷出来,再次附加数据库,但新的附加数据库不能叫MSDB,也就是不能同名,遇到了困难。
1:先停止整个数据库,将该数据库的文件msdbdata.mdf和msdblog.ldf拷贝粘贴出来到另一个目录下。
2:将以上的文件再拷贝到另一个目录下,也就是说复制两次。
3:选择数据库右击鼠标 --》所有任务--》附加数据库将复制出的一个备份文件附加上去,其中,数据库名称叫MSDB1,用户是SA或ADMINISTRATOR。
4:将MSDB1数据库备份,备份成一个文件,当时我的叫MSDB.BAK。
5:选择置疑的数据库MSDB,选择恢复数据库,将刚才备份出来的数据库强行恢复到MSDB。
数据库置疑处理如何修复1.数据库备份与还原:在修复数据库问题之前,首先应该对数据库进行备份。
备份是保证数据安全的关键步骤,可以在修复过程中避免数据丢失。
如果修复过程中发生了错误或意外情况,可以通过还原备份来恢复数据库到之前的状态。
2.数据库系统日志分析:数据库系统日志是记录数据库操作和事件的重要工具。
通过分析日志可以定位到数据库出现问题的具体原因。
对于数据完整性错误,可以通过日志分析找出出问题的操作和具体的错误信息。
对于性能问题,可以通过日志分析找出导致性能下降的查询、事务等操作。
3.数据库完整性检查:对于数据完整性错误,可以通过数据库完整性检查工具来定位问题并修复。
数据库完整性检查是对数据库中的数据进行一致性和完整性的验证,可以检测到数据丢失、重复、不一致等问题。
修复数据完整性错误可能需要对数据进行修正或恢复。
4.索引优化与重建:索引是提高数据库查询性能的关键因素。
数据库置疑处理中,经常需要对索引进行优化和重建。
通过分析查询执行计划,可以找出导致查询性能下降的问题,可以考虑调整索引策略或重新建立索引来提高查询效率。
5.数据库参数调整:数据库系统有很多可以配置的参数,通过调整这些参数可以提高数据库的性能和稳定性。
在数据库置疑处理过程中,可以通过调整这些参数来减少资源消耗、提高并发性能等。
6.数据库服务器优化:数据库服务器的硬件和操作系统的性能也会影响到数据库的运行效果。
在数据库置疑处理过程中,可以考虑对服务器进行优化,如增加内存、优化硬盘读写速度、调整操作系统参数等。
7.安全漏洞修复:数据库中存在安全漏洞可能导致数据泄露和入侵的风险。
在数据库置疑处理过程中,应该注意查找和修复这些安全漏洞。
可以通过升级数据库软件、补丁安装、控制用户权限等方式来增强数据库的安全性。
此外,在数据库置疑处理过程中,应该注意以下几点:1.及时响应和解决问题:数据库问题可能会对业务产生严重影响,因此应该迅速响应并解决问题,以缩短业务中断时间。
软件无法登录,提示登录失败或者无法连接到数据库,打开SQL数据库企业管理器,发现在UFDATA_001_2011数据库后面有‘置疑’字样,那么SQL数据库置疑是什么原因产生的呢?又该如何处理解决呢?一、原因分析SQL数据库置疑是数据库日志文件LDF 错误或异常造成的,一般有以下几种原因引起的:1、突然断电,非正常关机,造成日志和事务错误;2、硬件问题,特别是硬盘问题,造成日志和数据文件错误;3、硬盘的空间不够,如日志文件过大。
二、SQL数据库置疑解决办法1、首先停止SQL SERVER服务,把软件安装目录UFSMART下admin中置疑的帐套数据库源文件MDF和LDF备份出来到其他地方去,因为修复不一定成功。
2、将置疑数据库的ufdata.ldf文件删除或者重命名为ufdata1.ldf,然后启动SQL 数据库服务。
将以下脚本语句复制到查询分析器中,如下为修复数据库置疑脚本(账套号:001 年度:2011为例)。
说明:如数据库存放路径为:D:\UFSMART\Admin\ZT001\2011,执行脚本前先停止数据库服务,然后删除此路径下的ufdata.ldf文件,再启用数据库服务执行脚本。
use mastergosp_configure 'allow updates',1goreconfigure with overridegoupdate sysdatabases setstatus=-32768 wheredbid=DB_ID('UFDATA_001_2011')godbccrebuild_log('UFDATA_001_2011','D:\UFS MART\Admin\ZT001\2011\UFDATA.LDF') gosp_dboption 'UFDATA_001_2011','dbo use only','false'gosp_configure 'allow updates',0goreconfigure with overridego3、执行完置疑修复脚本后,如上图提示,数据库 'UFDATA_001_2011' 的日志已重建,这表示修复置疑成功,如果没有这个提示,则可能是无法修复。
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',1goRECONFIGURE WITH OVERRIDEgoupdate sysdatabasesset status=-32768where name='zmsoftpos_cs'--数据库名称godbcc rebuild_log('zmsoftpos_cs','D:\zmsoftpos_cs_log')--重新建立日志Goupdate sysdatabasesset status=26where name='zmsoftpos_cs'GoSp_configure 'allow update',0GoReconfigure with overrideGO备注:其中所有的“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”操作D、拷入如下语法执行:exec sp_MSforeachtable 'dbcc dbreindex(''?'')'备注:执行此语法时,此时的“ Master ”数据库名称一定要选择修复的数据库名称,执行才会生效。
执行完成之后,再使用“dbcc checkdb ”语法再检查一次,如果是“发现的是0个分配错误与O个一致性错误”表示修复成功,如果是:“CHECKDB 发现了 N个分配错误和 N个一致性错误”表示此数据库坏得很历害,使用此方法已不能修复成功了。
必面使用其他方法了。
最后不管修复成不成功都要使用下面的语法结尾: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..sysobjects WHEREname = ' + char(39) + name + char(39) + ')'+char(13)+ 'delete fromzmsoftpos_cs_01..'+name from zmsoftpos_cs..sysobjects wheretype='U'and name not in('system_sheet_setup','system_mode_file','system_image') order byname执行完成之后在下面的显示框架内就会出现如下语法:使用鼠标左击一下图片中红色圆圈内的按钮,就会选中下面的语法,然后再到红色圆圈内的按钮上点鼠标右键,点击另存为,就会出现如下对话:其中的保存类型一定要先选择所有文件,然后再到文件名处,填写好如图片中输入的名称,然后点保存!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”点中的路径一致。