sql数据库置疑,错误代码926,请问要如何修复?

sql数据库置疑,错误代码926,请问要如何修复?,第1张

请输入你的答案...

数据库926错误解决方案在做任何 *** 作前首先备份数据库数据文件和日志文件!以及最新的备份文件!第一种解决方法:先删除报错数据库,再新建一同名数据库,然后暂停Service

manager(及sql

server

服务)

,删除库文件和日志文件再启动Service

manager

,使用单数据文件恢复数据库命令恢复数据库。例:打开sql

server/tools/sql

server

query

analyzer

执行下面 *** 作

EXEC

sp_attach_single_file_db

@dbname

=

'pubs',

@physname

=

'c:\mssql7\data\pubs.mdf'

说明:‘pubs’为要恢复的数据库名称,‘c:\mssql7\data\pubs.mdf’为要恢复的数据库的库文件的具体路径和文件名称。再重新启动一下service

manager

,看能否正常打开处理后的数据库;如果不可以再使用第二种方案。第二种解决方法:打开sql

server/tools/sql

server

query

analyzer

执行下面 *** 作

USE

MASTER

GO

sp_configure

'allow

update',1

RECONFIGURE

WITH

OVERRIDE

GO

UPDATE

sysdatabases

set

status

=

32768

WHERE

name

=

'db_pos363'

GO

sp_configure

'allow

update',0

RECONFIGURE

WITH

OVERRIDE

GO

说明:'db_pos363'是要修复的数据库名称。执行完毕再重启一下Service

manager打开数据库看是否处于紧急状态!再从另一装有sql

2000的机器上连接报错的数据库,然后再在sql

2000的机器上新建一数据库,再使用sql

2000自带的数据库导入导出功能(在新建的数据库上单击右键/所有任务/数据导入、数据导出)从报错数据库导入数据到新建的数据库中!在导入选项中注意以下几项:

1,

导入方式选择分‘从源数据库复制表和视图’以及‘从sql

server数据库间复制对象和数据’。当选择从源数据库复制表和视图时一定要选择全部表!

2,

当选择‘从sql

server数据库间复制对象和数据’时,在‘导入导出向导’对话框中去除‘使用默认选项’的选中标志;再在打开‘选项’对话框,去除以下三项的选中标志。A,复制数据用户和数据库角色;B,复制sql

server

登陆;C,复制对象及权限。

3,

在使用‘从sql

server数据库间复制对象和数据’时,有时会出现单张表导入失败,这时有时会在导入结束时提示那几张表导入失败有时不提示,如果提示,就再使用‘从源数据库复制表和视图’并选中导入失败的表重新导入一遍;如果不提示就只能在一张张表打开查看了,发现空表后再使用‘从源数据库复制表和视图’导入需要导入的表!导入成功后再删除sql

server

7.0机器上处于紧急状态的数据库,再新建一个同名数据库,建好后再使用sql

2000的数据库导出功能导出到此数据库中,在导出过程中同样要注意导入时的注意事项!

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


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

原文地址: https://outofmemory.cn/sjk/6766427.html

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

发表评论

登录后才能评论

评论列表(0条)

保存