SQL数据库文件损坏,怎么修复

SQL数据库文件损坏,怎么修复,第1张

可以修复,从故障解析,数据库损坏分为逻辑层损坏和物理层损坏。

1,逻辑损坏是指,文件本身完整,系统表在逻辑结构上混乱造成的错误。

2,物理损坏是指,文件由于不完整,导致置疑等故障

数据库损坏,由断电,非法关机,系统重启,文件被误删除,误ghost自己恢复出来的文件附加失败,阵列崩溃等原因造成的。

逻辑层修复方法,网上有很多dbcc修复命令,可以区尝试下、

物理层还是找专业人员吧!

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 ,把数据库变成在线状态。

--1、修改数据库为紧急模式ALTER DATABASE Stock SET EMERGENCY--2、使数据库变为单用户模式ALTER DATABASE Stock SET SINGLE_USER --3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。DBCC CheckDB (Stock, REPAIR_ALLOW_DATA_LOSS)--4、使数据库变回为多用户模式ALTER DATABASE Stock SET MULTI_USER1:重新建立一个,一样的数据库,路径名称,文件都一样哈;2:关掉SQLSERVER服务;3:把源文件COPY过来;4:开启SQLSERVER服务;5:执行上面的1到4步。OK

1、要进行还原数据库 *** 作我们先需要有一个数据库,这里直接打开SQL Server Management Studio,然后打开实例,在左侧按照下图中红色箭头指示右键点击数据库,然后点击 新建数据库,如下图

2、在新建数据库的对话框中 修改数据库名称,然后其他都保持默认即可,然后点击确定即可,如下图:

3、然后就可以在SQL Server Management Studio的左侧看到新建的数据库了,如下图:

4、然后开始还原 *** 作,右键点击新建的数据库,然后依次点击 任务->还原->数据库如下图:

5、在d出的还原数据库对话框中,选择 源设备,然后选择右面的两个点,如下图:

6、然后就会d出 指定备份 的对话框,然后点击添加,如下图:

7、然后这里添加备份的数据库备份文件,数据库备份文件后缀名为bak,如下图:

8、然后按照下图中红色箭头指示位置 勾选数据库备份,然后点击 选项,如下图:

9、然后进入还原数据库 的 选项 页,这里首先勾选一下 覆盖现有数据库,然后开始选择下面的 将数据库文件还原为,如下图:

10、然后选择和数据库备份文件在一个文件夹下的mdf 文件,如下图:

11、然后选择和数据库备份文件在一个文件夹下的dlf 文件,如下图:

12、只有bak文件,这两个文件不是备份出来的,这两个文件是小编直接创建的文本文档然后直接改后缀名得到的,选择好这两个文件之后直接点击确定,如下图

13、稍等片刻之后就会看到数据库还原 *** 作成功完成,如下图:

14、然后就可以回到之前创建的数据库中看到,所有的表格已经还原了,如下图:

如果你的备份文件损坏了,那就不能恢复这个备份了,如果是你的数据库文件MDF损坏了,那你可以把原来的数据库分离了,把数据库文件先考到别的目录下,然后在企业管理器里新建立个数据库和原来的名字一样的,文件位置也放到原来的位置,建立完这个数据库以后再恢复数据库,在选项里,把强制还原数据库选上,然后确认恢复,应该就可以了

将原来的数据库文件删除,将备份中的数据库文件拷到相对路径下

使用with

move选项

RESTORE

DATABASE

A

FROM

DISK

=

N'D:\B'

with

RECOVERY,

NOUNLOAD,

REPLACE,

STATS

=

10

,

MOVE

'数据库逻辑名'

TO

'数据库A的完整路径+数据文件名mdf',

MOVE

'日志逻辑名'

TO

'数据库A的完整路径+日志文件名ldf'

另外使用restore命令恢复数据库,一般不必先创建要恢复的数据库,可以直接从备份里恢复出来。

或者右键

Attach你的备份也可以。

检查一下你的数据库连接字符串,如果你恢复了你的数据库并且数据库正常的话,那就是你程序配置的问题了

以上就是关于SQL数据库文件损坏,怎么修复全部的内容,包括:SQL数据库文件损坏,怎么修复、如何在SQL Server 2005中修复损坏的数据库、SQL Server:如何修复SQL Server 2008的数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9352755.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存