如何解决无法打开数据库,恢复 *** 作已将数据标记为suspect

如何解决无法打开数据库,恢复 *** 作已将数据标记为suspect,第1张

释放磁盘空间并且重新运行恢复 *** 作,按照下面的步骤收缩日志

sp_resetstatus 关闭数据库的置疑标志,但是原封不动地保持数据库的其它选项。

为从根本上解决这样的问题,你可以按下面的 *** 作配置SQLSERVER 2000:

a.如果不需要恢复到指定的时间点,你可以将数据库的恢复模式配置为简单,这样

UPDATE,DELETE,SELECT就不会记录日志,日志就不会增加的很大:

USE MASTER

GO

ALTER DATABASE DB_NAME SET RECOVERY SIMPLE

b.如果你的恢复模式是全部,你一定要配置日志字段收缩:

USE MASTER

GO

sp_dboption 'databasename','trunc. log on chkpt.',true

sp_dboption 'databasename','autoshrink',true

c.通过每日备份将日志收缩:

BACKUP DATABASE DATABASE_NAME TO BACKUP_DEVICES

BACKUP LOG DATABASE_NAME TO LOG_DEVICES

OR

BACKUP LOG DATABASE_NAME with truncate_only

**检查日志的容量:DBCC SQLPERF (LOGSPACE) 这时日志并没有收缩!

d.每天在备份数据库完成之后,重新启动MS SQLSERVER SERVICE.

USE DATABASE_NAME

go

DBCC SHRINKFILE(2,truncateonly)

**检查日志的容量:DBCC SQLPERF (LOGSPACE) 这时日志已经收缩!

e.手动快速收缩日志:

/ *run below script,you will shrink you database log files

immediately, in my experience,you need to run the script for 3 or

4 minutes before stopping it manually */

use databasename

dbcc shrinkfile(2,notruncate)

dbcc shrinkfile(2,truncateonly)

create table t1(char1 char(4000))

go

declare @i int

select @i=0

while(1=1)

begin

while(@i<100)

begin

INSERT INTO T1 VALUES ('A')

SELECT @I=@I+1

END

TRUNCATE table T1

BACKUP LOG youdatabasename with truncate_only

end

GO

msdb 是系统数据库,里面记录调度警报和作业以及 *** 作员的信息,如果没有用到这些内容,直接用备份恢复就可以的。 在单用户模式下,停掉SQL server服务,在另一台机装同版本sqlserver,把msdb覆盖过来,搞定。

你的数据库出问题了。cwbase3现在是置疑状态。可能是断电等原因造成的。

建议用最新的备份恢复数据。

关于数据库置疑的问题,你可以百度一下。 但是涉及到财务数据,不建议你自行处理。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存