由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'msdb'。有关详细信息,请参阅 SQL Server 错误日志。 (Microsoft SQL Server,错误: 945)
今天一台数据库服务器上出现:
导致数据库无法正常通过客户端进行链接,链接进去后无法查看到正常的数据库,
尝试从一台2012的数据库上恢复该msdb数据库,无法正常打开,提示:
由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'msdb'。有关详细信息,请参阅 SQL Server 错误日志。 (Microsoft SQL Server,错误: 945)
这个错误
本以为是磁盘空间不够,但删除了部分数据库空出空间仍旧问题,
才看到本地数据库安装的sql2005 故而sql2012的系统库不能用,
尝试从同事那找到系统的msdb数据库替换过来后解决。
解决方法为:
先找到一台正常的mssql2018数据库,停止mssql服务,将目录:
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data目录下的:
msdbdata.mdf
msdblog.ldf 文件 拷贝出来,然后传到原来异常有问题的目录下,传过来之前请先停止mssql服务,传过来后覆盖到
目录下的msdb的数据库文件,然后重新启动数据库服务,重启后查看到msdb为单用户模式,
使用:
alter database msdb set multi_user
设置后,msdb数据库即可正常:
故而可见,数据库异常重启可能导致该问题出现,出现后停止数据库服务,使用正常的mssql2005或者2008的都可替换过来。