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。

请点击输入图片描述

请点击输入图片描述

请输入你的答案...

数据库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的数据库导出功能导出到此数据库中,在导出过程中同样要注意导入时的注意事项!


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存