SQL Server 无法打开'msdb'数据库

 我来答
匿名用户
推荐于2017-06-25
展开全部
释放磁盘空间并且重新运行恢复操作,按照下面的步骤收缩日志。

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

注意 只有在您的主要支持提供者指导下或有疑难解答建议的做法时,才可以使用
sp_resetstatus。否则,可能会损坏数据库。

由于该过程修改了系统表,系统管理员必须在运行 sp_resetstatus这个过程前,启用系统表更新。要
启 用更新,使用下面的过程:

USE master
GO
sp_configure 'allow updates', 1
GO
RECONFIGURE WITH OVERRIDE
GO
过程创建后,立即禁用系统表更新:

sp_configure 'allow updates', 0
GO
RECONFIGURE WITH OVERRIDE
GO
只有系统管理员才能执行 sp_resetstatus。执行该过程后,立即关闭 SQL Server。
匿名用户
2013-04-05
展开全部
msdb数据库是SQL SERVER 2005自带的系统数据库,默认安装在C盘 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data 中,首先你看看上诉路径中是否有msdbdata.mdf和msdblog.ldf 文件,若有再看看C盘是否空间不足,因为SQL SERVER执行查询或者存储过程需要使用msdb和tempdb做缓存之用,可能C盘空间不足,大批量处理时导致空间不足。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
穿衣搭配时尚菌
2017-06-25 · TA获得超过1661个赞
知道小有建树答主
回答量:762
采纳率:72%
帮助的人:507万
展开全部

最好的方法就是在网上或者同学同事电脑上的MSDBData.mdfMSDBLog.ldf。只要有这两个日志文件一切都好说!

第一步:停掉sql服务,删掉原来的MSDBData.mdf和MSDBLog.ldf

第二步:把别人的MSDBData.mdf和MSDBLog.ldf复制到我的C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA下

重启sql服务,登录进去,就好了!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-05
展开全部
从新导入次数据库。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式