数据库质疑解决办法
数据库置疑的解决方法-徐章胜
sqlserver2000数据库置疑的解决方法先分离数据库企业管理器--右键置疑的数据库--所有任务--分离数据库然后备份你的置疑数据库的文件,再按下面的步骤处理:1.新建一个同名的数据库2.再停掉sql server3.用置疑数据库的文件覆盖掉这个新建的同名数据库4.再重启sql server5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEGOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='his222'Gosp_dboption 'test', 'single user', 'true'GoDBCC CHECKDB('test')Goupdate sysdatabases set status =28 where name='test'Gosp_configure 'allow updates', 0 reconfigure with overrideGosp_dboption 'test', 'single user', 'false'Go6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了.如果这样改不加数据库状态,你就把数据库导成一个新库来代替旧库吧企业管理器--右键你的数据库--所有任务--导出数据--目标标数据库选择新建--选择"在两个sql数据库之间复制对象和数据"--把"包含扩展属性"选上,其他的根据需要选择--最后完成*--重置置疑状态1.系统方法:如果sql server 因为磁盘驱动器不再有可用空间,而不能完成数据库的恢复,那么microsoft® sql server™ 2000 会返回错误1105并且将sysdatabases 中的status 列设为置疑。
数据库置疑_及修复
Sqlserver 数据库823错误(置疑)的解决方案一、SQL-Server数据库置疑:1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。
2、异常分析:关于823错误的SQL-SERVER 中的帮助:================================错误823严重级别24消息正文在文件%4的偏移量,%3的索引,%2过程中,检测到I/O 错误%1。
解决办法:准备工作:①停止sql server服务,找到置疑库的mdf,ldf文件复制出来,这里假设叫kmcyV51_data.mdf(ldf),并与企业管理器中删除该数据库;②用KM安装包下db_setup.exe建立一个空库(名称和质疑数据库名一致kmcyv51),选择服务器节点,右键停止数据库服务,把损坏的数据库文件kmcyv51_Data.mdf覆盖刚才新建数据库目录下,同时删除kmcy_v51_log.LDF文件;右键节点启动数据库服务,发现数据库名kmcyv51后面有“置疑”字样。
打开SQL自带查询分析器,在master数据库分别执行如下SQL语句:(注意更改数据库名)use masterexec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打开修改系统表开关*/update sysdatabases set status=32768 where name = 'kmcyv51' /* 设置紧急状态*/sp_dboption 'kmcyv51', 'single user', 'true' /*启用单用户*/DBCC REBUILD_LOG ('kmcyv51','E:\km软件_data\KmcyV51_Log.LDF') /* 重建LDF文件*/update sysdatabases set status=28 where name= 'kmcyv51' /* 设置正常状态*/--或者update sysdatabases set status = 16 where name = 'kmcyv51'RESTORE DATABASE kmcyv51 WITH RECOVERY /* 恢复数据库*/exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 关闭修改系统表开关*/sp_dboption 'kmcyv51', 'single user', 'false' /* 关闭单用户模式*/如果问题依然存在,最笨的一个方法就是新建另一个数据库,把原数据库各个表的数据导出到新建数据库表中。
SQL数据库置疑的解决方法
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数据库质疑处理方法1.首先停止sql服务、将质疑的数据库文件复制到其他盘进行备份、备份完之后将质疑数据库删除掉然后启动sql服务重新安装建立一个新的数据库。
2.停止sql服务然后用备份出来的数据库后缀名为MDF的文件替换新的MDF文件。
且删除掉后缀名为LDF的文件3.启动sql服务4.执行下列语句:Use Mastergosp_configure 'allow updates', 1reconfigure with overridegobegin tranupdate sysdatabases set status = 32768 where name = '数据库名'--Verify one row is updated before committingcommit trango5.停止sql再重新启动sql服务,然后运行下列语句:use mastergoDBCC TRACEON(3604)DBCC REBUILD_LOG('数据库名称','D:\Program Files\Microsoft SQL Server\MSSQL\Data\数据库名称_log.ldf')--(注:在这里输入自己的数据库路径)Go6.停止sql然后重新启动sql服务,然后运行下列语句:use mastergoupdate sysdatabases set status = 8 where name = '数据库名称'gosp_configure 'allow updates', 0reconfigure with overridego7. 运行dbcc checkdb(db_name) 检查修复好的质疑数据库是否正常。
SQL数据库置疑解决方案(原因、预防、修复)附图
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数据库置疑解决方法
一、SQL数据库置疑
1.数据库安全问题
为了保护数据库,需要确保数据库中的信息不被恶意攻击、篡改或盗窃,从而避免造成不可挽回的损失。
2.数据库可靠性问题
可靠性是指数据库系统必须在不同的时间片段可靠运行,即使是在发生系统故障的情况下,用户也能够一直获取服务。
只有数据库系统可靠性良好,才能够实现数据库系统的高安全性要求。
3.数据库性能问题
要满足用户的需求,必须保证数据库服务器能够达到最佳性能,避免出现数据库访问运行缓慢的问题,以及查询数据库时出现的查询延时、查询次数多等问题。
4.数据库维护问题
数据库系统是一个复杂的系统,在日常运行中难免会出现数据库系统故障、业务变更需求等情况。
数据库系统维护对于保证系统可靠性,提高系统性能至关重要。
1.数据库安全问题
(1)做好安全设置,为数据库设置正确的授权,只允许拥有访问权限的用户进行访问,并设置访问日志,记录访问和更改的用户,以及操作的时间等信息。
(2)定期备份数据库,将备份数据存放到安全的位置。
数据库置疑的解决办法
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。
6:问题解决,MSDB库又能正常使用。
完成后赶快将数据库再次备份一次。
数据库置疑处理方法
数据库置疑处理方法在数据库运行的过程中,有时会遇到一些问题,例如数据冲突、数据丢失、性能问题等。
这些问题可能会影响数据库的正常运行和数据的完整性。
因此,在数据库管理中,有必要采取一些措施来解决这些问题。
1.数据备份与恢复:定期对数据库进行备份,以防止数据丢失。
在发现问题时,可以通过恢复备份数据的方式来解决。
这种方法可以保证数据的完整性,但需要小心处理备份数据的存储和保护。
2.数据库监控:通过监控数据库系统的运行状态,例如CPU利用率、内存使用量、磁盘IO等指标,及时发现潜在的问题,并采取相应的措施来解决。
可以使用各种数据库监控工具和系统来实现自动监控。
3.性能优化:通过对数据库系统进行性能优化,提高系统的响应速度和吞吐量,以减少潜在的问题。
可以通过调整数据库参数、索引优化、SQL语句优化等方式来优化性能。
此外,还可以通过分析和监控数据库运行时的性能指标,发现性能瓶颈,并采取相应的措施来解决。
4.数据一致性检查:定期对数据库中的数据进行一致性检查,以确保数据的准确性和完整性。
可以通过比较多个副本之间的数据来检查数据的一致性,还可以通过执行一些自定义的数据一致性检查程序来检查数据的完整性。
5.数据冲突解决:当多个用户同时对数据库进行更新时,可能会出现数据冲突的问题。
这种情况下,可以采用乐观锁或悲观锁的方式来解决。
乐观锁是通过在更新操作之前检查数据是否被修改来解决数据冲突,悲观锁则是在更新操作期间锁定相应的数据,以防止其他用户同时更新。
6.异常处理:当数据库发生异常或错误时,需要及时采取相应的措施来处理。
可以通过异常处理机制来捕获和处理数据库异常,例如对异常日志进行分析,排查原因,并采取相应的措施来解决。
7.数据库监督与审计:对数据库的操作进行监督和审计,以确保数据的安全性和合规性。
可以通过审计日志、访问控制列表等方式对数据库进行监督,及时发现潜在的问题,防止未授权的访问和数据泄露。
综上所述,数据库置疑处理方法包括数据备份与恢复、数据库监控、性能优化、数据一致性检查、数据冲突解决、异常处理以及数据库监督与审计等。
SQL2005数据库质疑图文解决办法
各位亲们,
本人也不容易,给力支持支持!
谢谢哦!
数据库质疑决解办法
1.打开开始菜单——所有程序——Microsoft SQL Server 2005——SQL Server Management Studio
如图划黑框的内个:
2.单击打开SQL Server Management Studio,点击连接
打开左边下拉框里面的数据库,找到后面显示黄色括号里面可疑的内个,点击打开,然后点击最左上角的新建查询,把下面语句复制上去
ALTER DA TABASE damiwan_Code SET EMERGENCY
ALTER DA TABASE damiwan_Code SET SINGLE_USER
DBCC CheckDB (damiwan_Code, REPAIR_ALLOW_DA TA_LOSS)
ALTER DA TABASE damiwan_Code SET MULTI_USER
上面damiwan_Code 是我的数据库别跟我填写一样。
填写你自己的哦
如图:
3.点击上面的√,再点击执行(数据量大,时间可能长哦),如图:
然后就ok 了如果还是不行请按照下面的操作试试
4.右击我的电脑点击管理,再点开服务和应用程序,打开SQL Server 配置管理器,点击SQL Server 2005服务,在右边的对话框里面的启动服务,右击都重新启动下。
如图:
就ok 了!!!。
MSDB数据库置疑状态的解决方法
MSDB数据库置疑状态的解决方法MSDB数据库是SQL Server中的系统数据库之一,它存储了SQL Server代理服务以及一些其他系统对象的信息。
在使用SQL Server过程中,有时候会遇到一些MSDB数据库置疑状态的问题,如损坏、恢复失败等。
这种情况下,我们可以采取以下方法解决问题:1.检查数据库是否发生损坏可以使用SQL Server Management Studio的"数据库完整性检查"功能来检查MSDB数据库是否发生损坏。
如果发现有损坏,则可以使用"修复"功能来修复数据库。
2.恢复数据库备份如果MSDB数据库出现较大的问题,可以考虑还原最近可用的数据库备份。
首先,需要通过备份文件还原数据库,然后再进行数据库恢复。
3.重建系统对象如果MSDB数据库中的系统对象出现问题,可以尝试重建这些对象来解决问题。
可以使用系统存储过程sp_repladdcolumn、sp_replcmds等来重建系统对象。
4. 更新SQL Server版本如果使用的SQL Server版本过旧,可能会导致MSDB数据库出现问题。
可以尝试更新SQL Server版本来解决问题。
在更新之前,建议先备份数据库,并查看新版本的兼容性要求。
5. 检查SQL Server代理服务SQL Server代理服务对MSDB数据库起到重要的作用,如果服务出现问题,可能会导致MSDB数据库置疑状态。
可以通过服务管理器检查SQL Server代理服务是否正常运行。
如果服务停止或发生了错误,可以尝试重新启动服务或根据错误信息进行故障排除。
6.执行DBCCCHECKDB命令DBCC CHECKDB是SQL Server提供的用于检查数据库完整性的命令。
可以使用该命令来检查MSDB数据库是否存在问题,并尝试修复。
具体的使用方法可以参考SQL Server官方文档。
7.重建MSDB数据库如果以上方法都无法解决问题,可以考虑重建MSDB数据库。
数据库置疑的解决方法
数据库置疑的解决方法
首先,当我们发现数据库出现问题时,我们需要及时排查可能的原因。
我们可
以通过查看数据库的日志文件和错误日志,来了解数据库最近的运行情况和可能出现的错误信息。
此外,我们还可以通过数据库管理工具来检查数据库的表结构、索引情况以及数据完整性,以确定问题的具体表现和可能的原因。
其次,针对不同的数据库问题,我们需要采取不同的解决方法。
比如,当数据
库出现性能问题时,我们可以通过优化查询语句、增加索引、分析表结构等方式来提升数据库的性能;当数据库出现数据丢失或损坏的情况时,我们可以通过备份恢复数据、修复表结构、使用数据恢复工具等方式来恢复数据的完整性。
此外,我们还需要重视数据库的安全性和稳定性。
我们可以通过加强数据库的
访问控制、定期备份数据、定期维护数据库等方式来保障数据库的安全性和稳定性。
同时,我们还可以考虑使用数据库集群、数据库镜像、数据库分区等方式来提升数据库的可用性和容错性。
最后,我们需要不断学习和积累数据库维护和故障排除的经验,以便更好地应
对各种数据库问题。
我们可以通过阅读相关的书籍和文档、参加培训课程、积极参与技术社区的讨论等方式来不断提升自己的数据库维护和故障排除能力。
总之,数据库置疑的解决方法需要我们及时排查问题、针对不同问题采取不同
的解决方法、重视数据库的安全性和稳定性,以及不断学习和积累经验。
希望以上内容能够帮助大家更好地解决数据库置疑的问题,确保数据库的正常运行和数据的完整性。
数据库质疑修复总结ForSQLS...
数据库质疑修复总结ForSQLS...1 前言本文的步骤基于以下条件:1. SQL Server可以启动。
2. 数据库没有做有效的备份。
3. 当前用户有Sysadmin权限。
数据库质疑的原因会有多种多样,不同的suspect采用的步骤也会有所不同,以下的步骤不能适用所有的情况,但包括了一些基本的步骤。
数据库suspect是指数据库内部处于不一致的状态,很有可能会有数据丢失。
我们推荐您从“好的数据库备份”恢复。
我们这里所指的“好的数据库备份”是指:1. 在做数据库备份之前,您检查过DBCC CHECKDB没有错误。
2. 备份之后的数据库没有更改,或者更改可以忽略。
在做任何修复操作之前,请务必备份.mdf/.ndf以及.ldf文件。
2 SQL Server 2000修复步骤如果没有“好的数据库备份”,我们不能保证没有数据丢失。
以下是恢复suspect数据库(SQL Server 2000)的一般方法,供您参考。
同时在操作下列步骤之前,您可以备份质疑数据库的MDF、NDF、LDF文件,以便以下步骤恢复失败时能够回滚到原来的状态。
1. 在查询分析器中,运行如下命令将数据库置于紧急模式。
Sp_configure 'allow update', 1GoReconfigure with overrideGoBegin TranUpdate master..sysdatabases set status = 32768 where name ='<DatabaseName>’Commit Tran--此处<DatabaseName>需要替代成您出问题的数据库名字。
--以下同GoSelect * from sysdatabases--检查数据库状态是否已经变成 32768Go2. 重启SQL Server服务。
3. 如果第二步中重启服务,数据库再次进入suspect模式,请设置数据库紧急模式,使用BCP方式导出数据。
数据库置疑处理如何修复
数据库置疑处理如何修复1.数据库备份与还原:在修复数据库问题之前,首先应该对数据库进行备份。
备份是保证数据安全的关键步骤,可以在修复过程中避免数据丢失。
如果修复过程中发生了错误或意外情况,可以通过还原备份来恢复数据库到之前的状态。
2.数据库系统日志分析:数据库系统日志是记录数据库操作和事件的重要工具。
通过分析日志可以定位到数据库出现问题的具体原因。
对于数据完整性错误,可以通过日志分析找出出问题的操作和具体的错误信息。
对于性能问题,可以通过日志分析找出导致性能下降的查询、事务等操作。
3.数据库完整性检查:对于数据完整性错误,可以通过数据库完整性检查工具来定位问题并修复。
数据库完整性检查是对数据库中的数据进行一致性和完整性的验证,可以检测到数据丢失、重复、不一致等问题。
修复数据完整性错误可能需要对数据进行修正或恢复。
4.索引优化与重建:索引是提高数据库查询性能的关键因素。
数据库置疑处理中,经常需要对索引进行优化和重建。
通过分析查询执行计划,可以找出导致查询性能下降的问题,可以考虑调整索引策略或重新建立索引来提高查询效率。
5.数据库参数调整:数据库系统有很多可以配置的参数,通过调整这些参数可以提高数据库的性能和稳定性。
在数据库置疑处理过程中,可以通过调整这些参数来减少资源消耗、提高并发性能等。
6.数据库服务器优化:数据库服务器的硬件和操作系统的性能也会影响到数据库的运行效果。
在数据库置疑处理过程中,可以考虑对服务器进行优化,如增加内存、优化硬盘读写速度、调整操作系统参数等。
7.安全漏洞修复:数据库中存在安全漏洞可能导致数据泄露和入侵的风险。
在数据库置疑处理过程中,应该注意查找和修复这些安全漏洞。
可以通过升级数据库软件、补丁安装、控制用户权限等方式来增强数据库的安全性。
此外,在数据库置疑处理过程中,应该注意以下几点:1.及时响应和解决问题:数据库问题可能会对业务产生严重影响,因此应该迅速响应并解决问题,以缩短业务中断时间。
数据库质疑解决3种方法
--1,先停止服务器,然后备份tigerzz_Data.mdf和tigerzz_Log.ldf文件。
--2,启动服务器,然后删除数据库tigerzz。
--3,建立一个供恢复使用的数据库tigerzz。
--4,停止数据库服务器。
--5,将刚才生成的数据库的日志文件tigerzz_Log.ldf删除,用要恢复的数据库tigerzz_Data.mdf文件-- 覆盖刚才生成的数据库数据文件tigerzz_Data.mdf。
--6, 启动数据库服务器。
此时数据库tigerzz的状态为“置疑”。
--7,在查询分析器运行下面代码,允许对系统目录修改use mastergosp_configure 'allow updates',1goreconfigure with overridego--8,设置数据库tigerzz为紧急修复模式update sysdatabases set status = 32768 where name ='tigerzz'go--9,重建数据库日志文件dbcc rebuild_log('tigerzz','E:\Program Files\Microsoft SQL Server\MSSQL\Data\tigerzz_Log') --改为你的目录go--10,验证数据库一致性DBCC CHECKDB('tigerzz')go--11,恢复数据库为正常状态sp_dboption 'tigerzz','dbo use only','false'go--12,禁止修改系统选项sp_configure 'allow updates',0goreconfigure with overridego首先确认已经备份了.mdf和.ldf文件。
2. 在SQL Server中新建一个同名的数据库,然后停止SQL Server服务。
数据库质疑处理方式
数据库质疑处理方式1、备份数据库backup database 被备份的数据库名to disk ='备份文件路径';2、数据库修复1. DBCC CHECKDB重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。
use masterdeclare @databasename varchar(255)set @databasename='需要修复的数据库实体的名称'exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)dbcc checkdb(@databasename,REPAIR_REBUILD)exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态然后执行DBCC CHECKDB('需要修复的数据库实体的名称') 检查数据库是否仍旧存在错误。
注意:修复后可能会造成部分数据的丢失。
2. DBCC CHECKTABLE如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。
use 需要修复的数据库实体的名称declare @dbname varchar(255)set @dbname='需要修复的数据库实体的名称'exec sp_dboption @dbname,'single user','true'dbcc checktable('需要修复的数据表的名称',REPAIR_ALLOW_DATA_LOSS)dbcc checktable('需要修复的数据表的名称',REPAIR_REBUILD)------把’ 需要修复的数据表的名称’更改为执行DBCC CHECKDB时报错的数据表的名称exec sp_dboption @dbname,'single user','false'3. 其他的一些常用的修复命令DBCC DBREINDEX 重建指定数据库中表的一个或多个索引用法:DBCC DBREINDEX (表名,’’) 修复此表所有的索引。
用友软件数据库质疑处理办法
SQL Server数据库错误9003(LSN无效)的处理方法国内一些ERP、财务软件一般后台都使用SQL Server的数据库,SQL Server 作为一个中大型数据库是不应该在桌面系统上运行的,小规模企业一般不使用专用服务器,大部分直接使用XP系统+桌面引擎MSDE作为SQL数据库的后台服务。
这种方案当然就谈不上什么稳定性和可靠性了,最糟的是在死机、重启或意外掉电后数据库会出现打不开的现象,其中错误9003:LSN(xx:xx:x)无效是最常见的问题。
这种情况是数据库的日志文件(LDF)数据不同步造成的,可以根据数据库MDF文件重建日志文件修复。
以下是详细步骤,有颜色标注的部分应该按本机的实际名称进行修改。
假设损坏的数据库名称是MYDB_001,对应的数据库名称是MyDB_Data.MDF,日志文件是MyDB_Log.LDF,数据库所在文件夹为D:\MYDATA\;1、先把损坏的数据库对应的文件MyDB_Data.MDF和MyDB_Log.LDF备份到别的地方;2、在SQL Server和企业管理器中创建一个与损坏数据库同名的数据库,对应的数据库文件名称也是MyDB_Data.MDF和MyDB_Log.LDF;3、停止SQL Server服务;4、删除第2步新建数据库产生的MyDB_Log.LDF文件;5、用损坏的数据库数据文件MyDB_Data.MDF覆盖第2步新建数据库产生的MyDB_Data.MDF文件6、启动SQL Server服务;7、进入企业管理器,刷新数据库状态,此时数据库MYDB_001状态为“置疑”;8、在SQL Server服务器属性中设置SQL Server数据库服务器“允许对系统目录直接修改”9、从SQL企业管理器的“工具”菜单启动“SQL 查询分析器”;10、输入以下代码并运行使MYDB_001数据库进入紧急修复模式:update sysdatabases set status=-32768 where dbid=DB_ID('MYDB_001')这句语句执行后,刷新企业管理器,MYDB_001数据库的状态变成“只读\置疑\脱机\紧急模式”。
质疑的数据库
质疑的数据库资料一1、停止数据库服务器,将数据库MDF文件和LDF文件复制备份一份2、启动数据库服务器,删除置疑的数据库3、仅用备份的数据库MDF文件附加数据库,sp_attach_db或者sp_attach_single_file_db可以附加数据库,出现类似下面的提示信息:设备激活错误。
物理文件名'C:/Program Files/Microsoft SQL Server/MSSQL/data/myDb_Log.LDF' 可能有误。
已创建名为'C:/Program Files/Microsoft SQL Server/MSSQL/Data/myDb_log.LDF' 的新日志文件。
这个表明数据库附加成功,问题解决了,如果成功则要恭喜你了,反正我是符加不成功,提示类似下面的错误信息未能打开新数据库'myDb'。
CREATE DATABASE 将终止。
设备激活错误。
物理文件名'e:/www/myDb_log.LDF' 可能有误。
此时我用了以下方法解决(参考了网上的方法)。
A.我们SQL SERVER企业管理器新建立一个供恢复使用的同名数据库(注意:要跟问题数据库同名,本例中为myDb)。
B.停掉数据库服务器。
C.将刚才生成的数据库的日志文件myDb_log.ldf删除(本例中的示列数据库名,实际使用您自己的数据库名称),用刚才备份的数据库mdf文件覆盖新生成的数据库数据文件myDb_data.mdf。
D.启动数据库服务器。
此时会看到数据库myDb的状态为“置疑”。
这时候不能对此数据库进行任何操作。
E.设置数据库允许直接操作系统表。
此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右--键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。
也可以使用如下语句来实现。
use mastergosp_configure 'allow updates',1goreconfigure with overridego F.设置myDb为紧急修复模式在查询管理器里设置如下命令:update sysdatabases set status=-32768 where dbid=DB_ID('myDb')此时可以在SQL Server Enterprise Manager 里面看到该数据库处于“只读/置疑/脱机/紧急模式”可以看到数据库里面的表,但是仅仅有系统表G.下面执行真正的恢复操作,重建数据库日志文件dbcc rebuild_log('myDb','C:/Program Files/Microsoft SQL Server/MSSQL/Data/myDb_log.ldf')警告: 数据库'myDb' 的日志已重建。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(6)将SQL Server的“allow updates”属性恢复为不可修改 。语句为:sp_configure "allow updates" 0 6、数据库来自疑了怎么办?(一般解决方案)
(1)确定所有状态被标记为可疑(Suspect)的数据库名称因为若某个数据库处在可疑状态下,那么它在系统表sysdatabases中其status字段的值一定大于256,所以通过下面的操作可列出所有标记为可疑(Suspect)的数据库名称。
(2)在sqladvantage中输入select name from sysdatabases where status & 256 = 256 语句可查询哪些数据库置疑。一般情况下我们在Sybase central中点击数据库时会弹出置疑信息。
(3)备份master数据库。
(4)先将SQL Server的“allow updates”属性设为可修改,语句为:sp_configure "allow updates" 1
(4)修改系统表sysdatabases,将可疑用户数据库的status字段(共有4个状态)的值为-32768(“bypass recovery“,绕过恢复/复原),然后关闭SQL Server 。语句为:update sysdatabases set status=-32768 where name="可疑用户数据库名"
(7)重新启动服务。