sql数据库置疑怎么处理

sql数据库置疑怎么处理,第1张

修复方法

1

打开SQL企业管理器

按序打开 ,开始--所有程序(或程序)--Microsoft SQL Server--企业管理器

打开后按序点+号展开直到数据库

请点击输入图片描述

请点击输入图片描述

2

右键显示置疑的数据库--所有任务--分离数据库。

d出对话框点击确定。

注,先记住数据库名。分离有时候会提示分离失败,右键随便一个数据库--刷新,就可以看到已经没了。

请点击输入图片描述

3

找到该置疑数据库的源文件,剪切到其他文件夹黏贴。

注,一般是同名的两个文件,后缀为*.mdf和*.ldf。

请点击输入图片描述

4

返回企业管理器新建一个同名的数据库名

右键随便一个数据库--新建数据库

d出对话框中名称输入数据库名

然后点击上方选项卡数据文件,点后面的位置下的省略号选择存放路径,并把文件名改成和置疑数据库源文件名一样,然后确定

再点击上门选项卡事务日志,一样 *** 作后确定。

请点击输入图片描述

请点击输入图片描述

请点击输入图片描述

停止SQL服务

右键数据库上的服务器名--停止,d出提示点是。

请点击输入图片描述

打开新建数据库所在路径,把之前备份的置疑数据库的源文件.MDF后缀的复制过来覆盖,删掉新建数据库的后缀LDF的源文件。

启动SQL

右键数据库的服务器名--启动。

请点击输入图片描述

设置数据库允许直接 *** 作系统表

点击上方的工具--SQL查询分析器--输入下列语句

sp_configure  'allow updates',1 reconfigure with override

点击上方竖三角号执行(或按F5)

或右键选择数据库服务器--属性--服务器设置,将“允许对系统目录直接修改”打钩,确定。

请点击输入图片描述

设置要修复的数据库为紧急修复模式

删掉之前的语句,输入下列语句

update sysdatabases set status=32768 where name='数据库名'

注,数据库名记得改成你实际的。

点击上方竖三角号执行(或按F5)

请点击输入图片描述

重建数据库日志文件

删掉之前的语句(也可再前面语句前输入--),输入下列语句

DBCC TRACEON (3604)

DBCC rebuild_log('数据库名','数据库路径\数据库名.ldf')

注,数据库名和日志文件按实际修改。

点击上方竖三角号执行(或按F5)

提示如图视为成功

请点击输入图片描述

验证数据库一致性(虽然可以省略但是不易建议跳过)

删掉之前的语句(也可再前面语句前输入--),输入下列语句

dbcc checkdb('数据库名')

注,数据库名按实际修改。

点击上方竖三角号执行(或按F5)

请点击输入图片描述

设置数据库为恢复正常状态

删掉之前的语句(也可再前面语句前输入--),输入下列语句

update sysdatabases set status=0 where name='数据库名'

注,数据库名按实际修改。

点击上方竖三角号执行(或按F5)

请点击输入图片描述

设置数据库‘允许直接 *** 作系统表’取消

点击上方的工具--SQL查询分析器--输入下列语句

sp_configure  'allow updates',0 reconfigure with override

点击上方竖三角号执行(或按F5)

或右键选择数据库服务器--属性--服务器设置,将“允许对系统目录直接修改”打钩取消,确定。

请点击输入图片描述

重启SQL。

请点击输入图片描述

请点击输入图片描述

1,停止sql服务管理器,将日志文件 aaa.ldf 改成 aaa1.ldf(重新命名)

2,再开启sql服务管理器,打开查询分析器:依次执行

use master

go

sp_configure 'allow updates',1

go

reconfigure with override

go

update sysdatabases set status=-32768 where dbid=DB_ID('aaa')

go

dbcc rebuild_log('aaa','d:\aaa_log.ldf')-----一定要是数据库路径,如果不对要改下

go

dbcc checkdb('aaa')

go

sp_dboption 'aaa','dbo use only','false'

go

sp_configure 'allow updates',0

go

reconfigure with override

go

之后再次刷新企业管理器,应该就可以了!这种问题一般是断电或者动过文件路径导致的!

2005往后那些所谓的系统表已经是一个视图,所以不能更新。

1、改削数据库为紧迫模式

2、使数据库变为的暌姑户模式

Net

stop

mssqlserver

--遏制处事

3、修复数据库日志年夜头生成,此呼吁搜检的分配,结构,逻辑完整性和所稀有据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC

CHECKDB呼吁参数,该轨范将搜检和修复陈述的错误。可是,这些修复可能会导致一些数据丢失踪。

当数据库发生这种 *** 作故障时,按如下 *** 作轨范可解决此问题,打开数据库里的Sql

发芽编纂器窗口,运行以下的呼吁。

1

DBCC

CheckDB

(Sharepoint_Config

,

REPAIR_ALLOW_DATA_LOSS)

1

ALTER

DATABASE

Sharepoint_Config

SET

MULTI_USER

4、使数据库变回为多用户模式

1

ALTER

DATABASE

Sharepoint_Config

SET

SINGLE_USER

5、起头->运行->输入cmd->打开DOS呼吁窗口,输入以下呼吁重启数据库处事

1

ALTER

DATABASE

Sharepoint_Config

SET

EMERGENCY解决体例:

Net

start

mssqlserver

--启动处事

再次,打开Sql

Server

2005时被标识表记标帜为“可疑”的数据库已恢复正常状况。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存