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

在给数据库改名和编辑的时候,随便改了一些设置, 玩了玩,结果遇到这个问题,也搜索到了大哥的贴子,受到启发,虽然没解决我的问题,然后继续百度

由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 ‘msdb’…

我也是打开数据库遇到标题这个问题,但是我不是mdf、ndf、ldf没了。我的是还在的,可能改名他有些没改到。连接不回去了。

一开始吓我的是 连 我保存好的 查询语句 全没了。

因为我的数据文件都在,就一个ndf和ldf文件。接下来搜到了解决办法。

只有mdf文件和ldf文件,怎么恢复数据库

我是在navicat操作,用语句直接重新建库,就连上了,解决了问题。

不想重删我的库了,害怕…

做个测试

MEMORYCLERK_SQLBUFFERPOOL内存大_数据库


建个表填两个数

MEMORYCLERK_SQLBUFFERPOOL内存大_sqlserver_02


此时DATA文件夹的数据库文件出现了。

MEMORYCLERK_SQLBUFFERPOOL内存大_sqlserver_03


做了一些改名的操作

MEMORYCLERK_SQLBUFFERPOOL内存大_mssql_04


很奇怪,还能连上。那么先关掉连接,再把这里删库

MEMORYCLERK_SQLBUFFERPOOL内存大_Server_05


文件没了…还是要备份一下的。。

MEMORYCLERK_SQLBUFFERPOOL内存大_Server_06


备份的时候还是有些新的问题

MEMORYCLERK_SQLBUFFERPOOL内存大_sqlserver_07


接下来把服务先关掉,以便把文件移动一下

MEMORYCLERK_SQLBUFFERPOOL内存大_mssql_08


把文件移动到了桌面,再把服务打开

MEMORYCLERK_SQLBUFFERPOOL内存大_mssql_09


这下就打不开了

MEMORYCLERK_SQLBUFFERPOOL内存大_Server_10


既然打不开了,我们把这里的库记录删了,接下来写连接语句,根据文件路径重连。

use master
go
create database harryfooty
on (filename="E:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\harryfooty.ndf"), (filename="E:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\harryfooty_log.ldf") for attach
go

成功重连回丢失连接的表

MEMORYCLERK_SQLBUFFERPOOL内存大_sqlserver_11