由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 ‘msdb‘。无法打开数据库msdb 恢复操作已将该数据库标记为SUSPECT

由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'msdb'。有关详细信息,请参阅 SQL Server 错误日志。 (Microsoft SQL Server,错误: 945)

今天一台数据库服务器上出现:

由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 ‘msdb‘。无法打开数据库msdb 恢复操作已将该数据库标记为SUSPECT_第1张图片

导致数据库无法正常通过客户端进行链接,链接进去后无法查看到正常的数据库,

尝试从一台2012的数据库上恢复该msdb数据库,无法正常打开,提示:

由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'msdb'。有关详细信息,请参阅 SQL Server 错误日志。 (Microsoft SQL Server,错误: 945)

这个错误

由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 ‘msdb‘。无法打开数据库msdb 恢复操作已将该数据库标记为SUSPECT_第2张图片

本以为是磁盘空间不够,但删除了部分数据库空出空间仍旧问题,

才看到本地数据库安装的sql2005  故而sql2012的系统库不能用,

由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 ‘msdb‘。无法打开数据库msdb 恢复操作已将该数据库标记为SUSPECT_第3张图片

尝试从同事那找到系统的msdb数据库替换过来后解决。

解决方法为:

先找到一台正常的mssql2018数据库,停止mssql服务,将目录:

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data目录下的:

msdbdata.mdf

msdblog.ldf 文件 拷贝出来,然后传到原来异常有问题的目录下,传过来之前请先停止mssql服务,传过来后覆盖到

目录下的msdb的数据库文件,然后重新启动数据库服务,重启后查看到msdb为单用户模式,

由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 ‘msdb‘。无法打开数据库msdb 恢复操作已将该数据库标记为SUSPECT_第4张图片使用:

alter database msdb set multi_user

设置后,msdb数据库即可正常:

由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 ‘msdb‘。无法打开数据库msdb 恢复操作已将该数据库标记为SUSPECT_第5张图片

故而可见,数据库异常重启可能导致该问题出现,出现后停止数据库服务,使用正常的mssql2005或者2008的都可替换过来。

 

你可能感兴趣的:(运维生存,故障处理记录,sql,数据库,服务器,运维)