升级黑盘后打开显示数据库错误怎么解决

升级黑盘后打开显示数据库错误怎么解决,第1张

升级黑盘后打开显示数据错误解决办法是恢复备份、修复数据库、重新安装。

1、恢复备份:之前备份了黑盘的数据库文件,可以尝试使用备份文件来恢复数据,以解决数据库错误的问题。

2、修复数据库:没有备份文件,可以尝试使用黑盘的数据库修复工具来修复数据库文件,具体方法可以参考黑盘官方文档或咨询黑盘的技术支持人员。

3、重新安装:以上两种方法都不能解决问题,可以考虑重新安装黑盘软件,并重新设置和导入数据。

1停止SQL Server的服务,备份SQL Server安装目录下的\data子目录

下故障数据库的两个文件,一个数据文件hbposv6_branch_datamdf,

一个hbposv6_branch_logldf(也有可能非此命名),同时查看磁盘

空间是否有足够的空间;

2启动SQL Server服务(如已停止),创建一个新的数据库,命名为

原来数据库的名字。

3停止SQL Server

4把老数据库的MDF文件(hbposv6_branch_datamdf)替换

新数据库的相应的MDF文件,

并把LDF文件(hbposv6_branch_logldg)删除。

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_logldf')

--在这里,请输入你的数据库的路径

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 替换成真实的数据库名字。

SQL Server 2000数据库LDF损坏,只有mdf的恢复方法。

SQL Server 2000数据库文件遭到破坏的现象经常出现,数据库出错是否可以修复呢?答案是可以的,本日志以一个sql server 2000数据库,数据库日志文件ldf损坏了,mdf正常,数据库附加失败的修复方法总结一下,数据库数据恢复在很多时候比较复杂,当数据库存在大量错误的时候,使用DBCC修复也是不可以的,需要拆解数据库来抢救重要的数据,下面是较为常见的一种SQL Server 2000数据库修复方式:

1) 先及时把原来的数据库文件(如testmdf)备份到其他地方。

2) 停掉服务器。

3) 删除这个testmdf。

4) 重新建立一个test同名数据库。

5) 删除这个新建立的test数据库的testldf文件,并用开始备份好testmdf文件覆盖这个新建立的testmdf文件。

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_logldf')

执行过程中,如果遇到下列提示信息:

服务器: 消息 5030,级别 16,状态 1,行 1

未能排它地锁定数据库以执行该 *** 作。

DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

说明您的其他程序正在使用该数据库,如果刚才您在 *** 作中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。

用dbcc checkdb 检查数据库。

DBCC CHECKDB

重启服务器后,在没有进行任何 *** 作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。

use master

declare @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('需要修复的数据库实体的名称') 检查数据库是否仍旧存在错误。注意:修复后可能会造成部分数据的丢失。

简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行copy,就可回复原来的数据。

复杂情况下:

从另一台机上把MySQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和 *** 作。经过如下几种情况的 *** 作。

1 在本地重装MySQL(安装目录D:\Program Files\MySQL\MySQL Server 50),直接把mysql文件夹拷贝至D:\Program Files\MySQL\MySQL Server 50\。结果,失败:数据库连接错误。

2 卸载后重装MySQL,将D:\Program Files\MySQL\MySQL Server 50\下的数据备份,只把mysql\data文件夹全部内容拷贝到D:\Program Files\MySQL\MySQL Server 50\data下。结果,失败:数据库连接错误。将备份的数据还完覆盖。结果,失败,还是连接不上数据库。

3 卸载后重装MySQL,将mysql\data文件夹里的cf1,last文件夹(这两个是原来MySQL里的数据库)拷贝进D:\Program Files\MySQL\MySQL Server 50\data。连接成功,在Navicat for MySQL里看到数据库cf1和last,但是不能访问,因为数据全为零。明白了原来data里以数据库命名的文件存储的是数据库的表结构,不是元数据。下一步,把data文件夹里的ibdata1文件(34G大,明显存储了元数据)拷贝到D:\Program Files\MySQL\MySQL Server 50\data里,代替原来的ibdata1文件。重启电脑,打开Navicat for MySQL,连接成功,数据可以访问 *** 作。

至此, *** 作终于成功。其实当初在那台机上把数据导出来,而不是现在直接把文件夹mysql复制过来会更容易恢复。但那台机已经重装了系统,也就是说MySQL失效了。

修复MYSQL数据库因断电造成的数据损坏在使用MySQL数据库的时候,都碰到过因断电造成数据库损坏的情况,大家都知道,断电或非正常关机是导致MySQL数据库出现错误最常见的原因,如何恢复MySQL数据库是大家都非常头痛的问题。目前有方法可以帮助大家恢复损坏的MySQL数据库吗?当用户出现断电造成的MySQL数据库丢失损坏时,如果能进入MySQL软件,但是提示错误信息,用户可以通过“系统维护”—“数据库压缩修复”,压缩下数据库(有些软件在“系统设置”—“系统维护”—“数据库备份恢复”中),这种方法只适合一小部分的数据库故障修复,功能性并不高。现在网络上有两种比较推荐使用的MySQL数据库恢复方法,一种方法使用MySQL(和PHP搭配之最佳组合)的check table和repair table 的sql语句,另一种方法是使用MySQL(和PHP搭配之最佳组合)提供的多个myisamchk, isamchk数据检测恢复工具。在很多用户看来,这两个方法都比较复杂,并不适合大多数的用户使用。另外,这两种方法并不能有效的恢复MySQL数据库,可能还会造成数据库被进一步损坏,造成大家无法挽回的损失。根据以上几个原因,这两种MySQL数据库恢复方法并不建议大家使用。。数据库被损坏分以下几种情况:1、严重损坏2、轻度损坏3、有些表被损坏或有些表的部分记录被损坏如何修复MYSQL数据库因断电造成的数据损坏

以上就是关于升级黑盘后打开显示数据库错误怎么解决全部的内容,包括:升级黑盘后打开显示数据库错误怎么解决、怎样修复已经损坏的SQL数据库、数据库文件存在异常,请修复 怎么弄等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9821542.html

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

发表评论

登录后才能评论

评论列表(0条)

保存