资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

sqlserver质疑,sql质疑修复

sql server 2000 数据库质疑后重新开机后恢复正常是怎么回事

SQL

钟山ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

Server2000数据库出现质疑有以下原因:

(1)

数据库文件

被删除

(2)转移了数据库文件

(3)重新命名了数据库文件

(4)由于文件夹设置了安全访问,导致程序无法访问

(5)由于

电脑系统

的原因,导致SQL

Server无法正常访问数据库文件

从你的情况看,有可能是系统的某种原因导致第一次没有正常与数据库文件通信

但重启后通信成功,这是比较正常的事情

紧急求助,SQL2000数据库处于质疑状态

在MS SQLSERVER中一直有这样的问题,SQLSERVER的状态"置疑",原因约有以下几条:

1.错误的删除日志;

2.硬件(HD)损坏,造成日志和数据文件写错误;

3.硬盘的空间不够,比如日志文件过大;

解决办法:

最简单的办法是有数据库的全备份,然后恢复即可.

步骤:

1. 删除原始的数据库:

USE MASTER

GO

DROP DATABASE DB_SUEPECT

2.建立同名的数据库:

USE master

GO

CREATE DATABASE DB_SUSPECT

ON

( NAME = DBNAME_DAT,

FILENAME = 'C:',

SIZE = 10,

FILEGROWTH = 5 )

LOG ON

( NAME = 'DBNAME_LOG',

FILENAME = 'g:',

SIZE = 5MB,

FILEGROWTH = 5MB )

GO

3.恢复数据库:

RESTORE DATABASE DB_SUSPECT

FROM DBNAME_BACKUP.DAT

4.数据库完整性检测:

DBCC CHECKDB('DB_SUSPECT')

5.重新启动MSSQLSERVER服务.

如果没有全备份,那就要用一些特殊的方法:

1.设置数据库为紧急模式

Use Master

GO

sp_configure 'allow updates', 1

reconfigure with override

GO

UPDATE sysdatabases SET status = 32768 where name = 'DB_SUSPECT'

GO

2.停掉SQL Server服务:

.Net STOP MSSQLSERVER

3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:

4.启动SQL Server服务:

.Net START MSSQLSERVER

5.重新建立一个同名的数据库DB_SUSPECT;

USE master

GO

CREATE DATABASE DB_SUSPECT

ON

( NAME = DBNAME_DAT,

FILENAME = 'C:',

SIZE = 10,

FILEGROWTH = 5 )

LOG ON

( NAME = 'DBNAME_LOG',

FILENAME = 'g:',

SIZE = 5MB,

FILEGROWTH = 5MB )

GO

6.设置数据库运行在单用户的模式:

USE MASTER

GO

ALTER DATABASE DB_SUSPECT SET SINGLE_USER

GO

7.停掉SQL服务:

.Net STOP MSSQLSERVER

8.把原来的数据文件再覆盖回来:

9.启动SQL Server服务:

.Net START MSSQLSERVER

10.重新设置SQLSERVER的状态:

USE MASTER

GO

EXEC sp_resetstatus "DB_SUSPECT"

11.数据库完整性检测:

DBCC CHECKDB('DB_SUSPECT')

12.恢复数据库为多用户模式:

USE MASTER

GO

ALTER DATABASE DB_SUSPECT SET MULTI_USER

GO

13.恢复SQLSERVER原始的配置:

USE MATER

GO

UPDATE sysdatabases SET status = 4194320 where name = 'DB_SUSPECT'

GO

14.配置SQLSERVER不允许更新系统表:

USE MASTER

GO

sp_configure 'allow updates', 0

reconfigure with override

GO

15.重新启动MSSQLSERVER服务:

最好重新启动操作系统

16.备份数据库:

可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和DB_SUSPECT

补充一点,如果用DOMAIN\USER时,要注意对.MDF.LDF的所在目录的权限.

灵验脚本

遇到这种数据库置疑情况,就运行下面这个脚本,屡试不爽:

======================================================

--before running any script, run the following to set the

master database to allow updates

USE master

GO

sp_configure 'allow updates', 1

GO

RECONFIGURE WITH OVERRIDE

GO

--Run the following script

UPDATE master..sysdatabases SET status = status ^ 256

WHERE name = 'Database_Name'

--Run the following script

exec SP_resetstatus Database_Name

--stop and start the MSDTC at this stage

--After the procedure is created, immediately disable

updates to the system tables:

exec sp_configure 'allow updates', 0

GO

RECONFIGURE WITH OVERRIDE

GO

SQL SERVER2000置疑

1.设置数据库为紧急模式

Use Master

GO

sp_configure 'allow updates', 1

reconfigure with override

GO

UPDATE sysdatabases SET status = 32768 where name = 'DB_SUSPECT'

GO

2.停掉SQL Server服务:

.Net STOP MSSQLSERVER

3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:

4.启动SQL Server服务:

.Net START MSSQLSERVER

5.重新建立一个同名的数据库DB_SUSPECT;

USE master

GO

CREATE DATABASE DB_SUSPECT

ON

( NAME = DBNAME_DAT,

FILENAME = 'C:',

SIZE = 10,

FILEGROWTH = 5 )

LOG ON

( NAME = 'DBNAME_LOG',

FILENAME = 'g:',

SIZE = 5MB,

FILEGROWTH = 5MB )

GO

6.设置数据库运行在单用户的模式:

USE MASTER

GO

ALTER DATABASE DB_SUSPECT SET SINGLE_USER

GO

7.停掉SQL服务:

.Net STOP MSSQLSERVER

8.把原来的数据文件再覆盖回来:

9.启动SQL Server服务:

.Net START MSSQLSERVER

10.重新设置SQLSERVER的状态:

USE MASTER

GO

EXEC sp_resetstatus "DB_SUSPECT"

11.数据库完整性检测:

DBCC CHECKDB('DB_SUSPECT')

12.恢复数据库为多用户模式:

USE MASTER

GO

ALTER DATABASE DB_SUSPECT SET MULTI_USER

GO

13.恢复SQLSERVER原始的配置:

USE MATER

GO

UPDATE sysdatabases SET status = 4194320 where name = 'DB_SUSPECT'

GO

14.配置SQLSERVER不允许更新系统表:

USE MASTER

GO

sp_configure 'allow updates', 0

reconfigure with override

GO

15.重新启动MSSQLSERVER服务:

最好重新启动操作系统

16.备份数据库:

可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和DB_SUSPECT

补充一点,如果用DOMAIN\USER时,要注意对.MDF.LDF的所在目录的权限.

sqlserver出现数据库不能附加怎么回事

打开sqlserver management studio,登录身份选择windows身份验证,点击连接

进入管理器中,选择数据库,右键,在弹出的菜单选择“附加”,如图所示,选择要附加的文件后,点击附加,如果没有报错,则完成附加,否则,需要接下来的数据修复。

报错,附加失败后,请新建数据库,且要与要附加的数据库同名。如要附加的数据库为skhprint,要新建的数据库名也要命名为skhprint,如图,点击确定,完成数据库创建

停止数据库

将原mdf文件,如skhprint.mdf复制到新创建的数据库所在目录中,之后,开启服务器

这是,会发现skhprint质疑,接下来要打开查询分析器,输入如下代码:

use master

--declare @databaseName varchar(50)

--set @databaseName='skhprint'

--1修改服务器设置:允许对系统目录进行直接修改

sp_configure 'allow updates',1 reconfigure with override

--2将数据库置为紧急状态

update master.dbo.sysdatabases set status = 32768 where name = 'skhprint'

--3删除新的ldf文件,重建日志:

dbcc rebuild_log('skhprint', 'f:\skhprint_log_new.ldf')--假设把新日志在f盘

update master.dbo.sysdatabases set status = 16 where name = 'skhprint'

--4修改服务器设置:取消 允许对系统目录进行直接修改

sp_configure 'allow updates', 0 reconfigure with override

--再使用检查工具修复错误 dbcc

--5设置为单用户模式

alter database skhprint set single_user with rollback immediate

--6 修复数据库

dbcc checkdb ('skhprint',REPAIR_ALLOW_DATA_LOSS)

--7 设置为多用户模式

alter database skhprint set multi_user

--执行完毕之后,如果还有错误,重复执行6,直到没有错误为止。

--根据提示操作

--如果没有其他问题,则修复成功!


名称栏目:sqlserver质疑,sql质疑修复
URL地址:http://cdkjz.cn/article/hcsshp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220