我收缩单个数据库文件出现问题了

TOFEMALE 2018-05-29 12:44:46
收缩 对于 DataFile“24”失败。 (Microsoft.SqlServer.Smo)在 sys.database_files 中找不到数据库“myinfoNew”的文件“24”。该文件不存在或者已被删除。 (Microsoft SQL Server,错误: 8985)

其它文件的收缩都没有问题呢??
...全文
1514 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
薛定谔的DBA 2018-06-08
  • 打赏
  • 举报
回复
也许的逻辑文件对应不上物理文件。备份出来测试看看。
--查看逻辑文件对应的物理文件
SELECT file_id,name,type_desc,physical_name,state_desc FROM sys.master_files WHERE database_id = DB_ID('myinfoNew');

--将报错的文件,按照上面的 name 和 physical_name ,重新匹配一下
ALTER DATABASE myinfoNew MODIFY FILE ( NAME = TestDB, NEWNAME= '逻辑名称name', FILENAME = "文件路径physical_name") 
TOFEMALE 2018-06-05
  • 打赏
  • 举报
回复
引用 7 楼 z10843087 的回复:
@TOFEMALE 是不是已经执行了移除这个文件的命令了?
没有移除呀,能查询到这个文件的
TOFEMALE 2018-06-05
  • 打赏
  • 举报
回复


这个文件是存在的呀
半世笙箫 2018-06-05
  • 打赏
  • 举报
回复
建议先用如下语句确认一下文件名是否真的存在。报错信息显示是收缩的文件不存在
SELECT df.[name],
       df.physical_name,
       df.[size] * 8 [size],   --单位 page 1page=8k
       df.growth * 8 growth,
       f.[name] [filegroup],
       f.is_default,
       state,
       state_desc,
       max_size,
       create_lsn,
       drop_lsn,
       read_only_lsn,
       read_write_lsn,
       differential_base_lsn,
       differential_base_time
  FROM sys.database_files df
       JOIN sys.filegroups f ON df.data_space_id = f.data_space_id;
OwenZeng_DBA 2018-06-05
  • 打赏
  • 举报
回复
@TOFEMALE 是不是已经执行了移除这个文件的命令了?
吉普赛的歌 版主 2018-06-05
  • 打赏
  • 举报
回复
选中你那个库, 再执行:
DBCC CHECKDB()
看下
TOFEMALE 2018-06-05
  • 打赏
  • 举报
回复
TOFEMALE 2018-06-05
  • 打赏
  • 举报
回复
TOFEMALE 2018-06-05
  • 打赏
  • 举报
回复
引用 2 楼 roy_88 的回复:
查看 数据库存放路径是否缺少数据库文件 重启一下SQL SERVER服务查看系统数据库状态是否异常没及时刷新
没有缺失文件。。
中国风 2018-05-29
  • 打赏
  • 举报
回复
查看 数据库存放路径是否缺少数据库文件 重启一下SQL SERVER服务查看系统数据库状态是否异常没及时刷新
OwenZeng_DBA 2018-05-29
  • 打赏
  • 举报
回复
把具体的操作截图来看下,以便定位问题

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧