当前位置:首页 » 数据仓库 » 临清数据库修复
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

临清数据库修复

发布时间: 2022-12-16 11:06:52

A. 怎样修复已经损坏的sql数据库

1.停止SQL Server的服务,备份SQL Server安装目录下的\data子目录
下故障数据库的两个文件,一个数据文件hbposv6_branch_data.mdf,
一个hbposv6_branch_log.ldf(也有可能非此命名),同时查看磁盘
空间是否有足够的空间;
2.启动SQL Server服务(如已停止),创建一个新的数据库,命名为
原来数据库的名字。
3.停止SQL Server
4.把老数据库的MDF文件(hbposv6_branch_data.mdf)替换
新数据库的相应的MDF文件,
并把LDF文件(hbposv6_branch_log.ldg)删除。
5.重新启动SQL Server服务,然后运行如下命令:
Use Master
go
sp_configure 'allow updates', 1
reconfigure with override
go
begin tran
update sysdatabases set status = 32768 where name = 'hbposv6_branch'
--Verify one row is updated before committing
commit tran
go
6.停止SQL然后重新启动SQL Server服务,然后运行如下命令
(更换日志文件路径地址):
use master
go
DBCC TRACEON(3604)
DBCC REBUILD_LOG
('hbposv6_branch',
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\hbposv6_branch_log.ldf')
--在这里,请输入你的数据库的路径
go
7.停止SQL然后重新启动SQL Server服务,然后运行:
use master
go
update sysdatabases set status = 8 where name = 'hbposv6_branch'
go
sp_configure 'allow updates', 0
reconfigure with override
go
8.运行dbcc checkdb(db_name) 检查数据库的完整性
9.修复数库
--请在查询分析器中执行下列语句.执行前断开其它
所有数据库连接,最好是断开网线
--如果不是该数据库名,请将数据库
--hbposv6_branch
--改为要修复的数据库
USE master
Go
--单用户模式
EXEC sp_dboption 'hbposv6_branch', 'single user', 'TRUE'
go
--数据库检查
DBCC CHECKDB ('hbposv6_branch')
Go
--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复
--数据库修复
DBCC CHECKDB ('hbposv6_branch','repair_rebuild')
Go
--再次数据库检查,如果返回结果中没有了红色的提示文字,
说明修复成功;
DBCC CHECKDB ('hbposv6_branch')
Go
--否则意味着还需要更高级别的修复;尝试将上面修复语句的
'repair_rebuild'换为'repair_allow_data_loss'再试,
之后再次检查数据库。
--如果还有错误未修复,请把这些信息以文字的方式发给我们
--退出前请一定要执行以下语句返回到多用户模式
EXEC sp_dboption 'hbposv6_branch', 'single user','FALSE'
go
注:都要把 dbname 替换成真实的数据库名字。

B. access数据库被破坏,如何修复

我就遇到过你的这种情况我在网上找了 N 久,如果没有备份的话就歇菜了。

希望你有备份的,下面的方法对你大概没什么作用了

被攻击后的数据库(asa或asp格式的)就算你把网站里的毒杀了后
把格式再改回来也没有用了

网上真的不安全啊

修复ACCESS数据库的几种常见方法:

技术支持部在日常工作中经常会碰到因非正常退出、网络不稳定或病毒等原因造成的Access数据库损坏。损坏了的Access数据库会造成软件运行不稳定,出现各种运行错误,为解决这类问题就必须对Access数据库进行修复。

修复Access数据库,我们一般使用微软Office 97中带的Access 97对数据库进行修复和整理。Access数据库被损坏分以下几种情况:1、严重损坏;2、轻度损坏;3、有些表被损坏或有些表的部分记录被损坏。下面就分情况介绍解决办法。

1、使用Access97打不开数据库、系统提示"不可识别的数据库格式"或"不是该表的索引"等信息,这样的数据库都是损坏比较严重的。损害严重的数据库一般来说都是无法修复的,只有恢复备份了,好在这种情况比较少见。

2、如果数据库损坏的不严重,只需要使用Access 97菜单上的“修复数据库”和“压缩数据库”就可以把数据库修复好。因为数据库轻微损坏的时候,一般也不会导致软件出什么问题,所以也不会引起人的注意,只有当数据库的某一个或几个表损坏了的时候,才会使软件变得不稳定,所以这种情况才是我们最常遇到的。

3、如何确定数据库中哪几个表有问题呢,我们首先利用Access 97建立一个空数据库,利用系统提供的“引入数据库”功能,选择目标数据库所有的表进行引入,Access 97当引入到有问题的表时系统会提示一些错误信息,把这个表的名字记下来以备以后修复时使用。

接下来利用Access97打开有问题的数据库,准备修复表。修复损坏的表的方法依照表损坏程度不同而不同,下面分情况介绍处理的办法:

一、表损坏的非常严重,表现为无法打开表,系统提示“Microsoft jet 找不到对象”、“没有读写权限”或“不可识别”等信息。

处理方法:这种表的已经损坏得非常严重了,一般无法修复。如果这个表不很重要或通常情况下表的内容为空的话,例如“常用凭证表”、“科目共享锁定表”或“凭证共享锁定表”,我们可以通过引入的方法把其他数据库的表引入,然后把有问题的表删除即可。

二、表中有几行内容非常混乱或字段内标有“#已删除”字样,但当要删除这些记录时就会出现错误信息不许删除。

处理办法:既然不让删除这些记录,我们可以通过使用SQL语句把没有问题的记录复制到一个新的表中,然后把老表删除把新表的名字改过来即可。例如“凭证及明细账表GL_ACCVOUCH”中有错误记录有无法删除,我们可以使用如下SQL语句把好的记录复制到GL_ACCTEMP中:

SELECT GL_ACCVOUCH.* INTO GL_ACCTEMP

FROM GL_ACCVOUCH WHERE {筛选的条件}

然后删除表GL_ACCVOUCH,再把表GL_ACCTEMP的名字改为GL_ACCVOUCH即可解决问题。

修复ACCESS数据库的注意事项,首先,我们在修复数据库前一定要做好备份,以防数据丢失或损坏;有一些数据库中有RELATION(关系)来维护数据的一致性,但当数据库异常后相关表的RELATION也就丢失了,在修复好数据库后一定要把RELATION再联好,有些软件可以自动修复RELATION,比如用友公司的ERP8.XX系列产品的数据库可以通过把表accinformation中的[cSysid]='AA' and [项目号]='99'的记录,把[设置值]和[缺省值]改为'8.0A0',重新进入系统时,系统会自动升级并重建索引。

C. 数据库如何修复

可能有文件缺失或损坏,可以停掉SQL Server服务,先将数据库文件夹复制一份并安全存储,对数据库所在磁盘执行CHKDSK,排除磁盘错误,然后启动SQL Server服务,尝试修复数据库:
1.在SQL Server Management Studio中随便创建一个数据库,例如:PVLink。
2.停止SQL Server服务。
如果不停止此服务,刚才创建的PVLink数据库将即不能被拷贝,也不能被覆盖。
3.把已经损坏的数据库的mdf文件拷贝并覆盖刚才新建的数据库产生的mdf文件。
4.启动SQL Server服务。
此时可以看见刚才创建的PVLink数据库名字后面没有加号,无法察看其任何信息,其实目前它已经处于无法使用的状态。
5.把数据库设置为紧急状态。
通过在“查询分析器”中执行:alter database PVLink set EMERGENCY 可以将数据库设置为紧急状态,此时数据库PVLink的图标改变成粉红色并出现“紧急”字样。
6.将数据库设置为单用户模式。
如果不设置为单用户模式,我们将无法使用带有效repair选项的DBCC CHECKDB来检查/修复数据库,SQL Server 2005设置单用户模式比SQL Server 2000容易,只要在“查询分析器”中执行:
use master
go
sp_dboption 'PVLink',single,true
7.修复数据库
修复数据库主要使用DBCC来操作,一般来讲,我们可以使用以下三个选项来修复:
●REPAIR_ALLOW_ DATA_LOSS
尝试修复报告的所有错误。这些修复可能会导致一些数据丢失。
●REPAIR_FAST
仅为保持向后兼容性而保留。
●REPAIR_REBUILD
执行由 REPAIR_FAST 执行的所有修复,包括需要较长时间的修复(如重建索引)。执行这些修复时不会有丢失数据的危险。
一般我们通过执行:DBCC CHECKDB('PVLink',REPAIR_REBUILD) 即可完成修复工作,此时 SQL Server 2005会给出很多提示,因为这个过程可能会导致一些数据库设计或者数据的丢失,并且在这个过程中,会产生新的以ldf为扩展名的数据库日志文件。
8.完成以上的步骤后,一般情况下数据库应该可用了,如果数据库此时仍然是紧急状态,可以通过:alter database PVLink set ONLINE ,把数据库变成在线状态。
检查PVLink数据库内数据是否正常,是的话换回原数据库即可。

D. 数据库被删除了怎么恢复

恢复步骤:
1、运行EasyRecovery。
2、选择“DeletedRecovery”。
3、选择数据库文件所在的驱动器,在“File Filter”中输入*.mdf|*.ldf,选择“Next”。
4、在左侧窗口会列出被删除的数据库文件,选择所要恢复的数据库文件,选择“Next”。
5、在“Recover to Local Drive”中选择恢复后的文件存放的路径,要选择与原数据库文件不同的路径,选择“Next”。
6、文件被恢复后,将恢复的文件复制到原数据库文件位置,并在企业管理器通过附加数据库,将恢复的文件恢复到SQL Server中。
注:如果删除的数据库文件所有的存储区域被写过了,就无法恢复了,所以删除与恢复的时间间隔越短越好。

E. 数据库文件存在异常,请修复 怎么弄

SQL Server 2000数据库LDF损坏,只有mdf的恢复方法。
SQL Server 2000数据库文件遭到破坏的现象经常出现,数据库出错是否可以修复呢?答案是可以的,本日志以一个sql server 2000数据库,数据库日志文件ldf损坏了,mdf正常,数据库附加失败的修复方法总结一下,数据库数据恢复在很多时候比较复杂,当数据库存在大量错误的时候,使用DBCC修复也是不可以的,需要拆解数据库来抢救重要的数据,下面是较为常见的一种SQL Server 2000数据库修复方式:
1) 先及时把原来的数据库文件(如test.mdf)备份到其他地方。
2) 停掉服务器。
3) 删除这个test.mdf。
4) 重新建立一个test同名数据库。
5) 删除这个新建立的test数据库的test.ldf文件,并用开始备份好test.mdf文件覆盖这个新建立的test.mdf文件。
6) 启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。
.设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”。
7) 设置test为紧急修复模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表
8) 下面执行真正的恢复操作,重建数据库日志文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
执行过程中,如果遇到下列提示信息:
服务器: 消息 5030,级别 16,状态 1,行 1
未能排它地锁定数据库以执行该操作。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
说明您的其他程序正在使用该数据库,如果刚才您在操作中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。