难以从文件组中删除文件

时间:2018-01-01 16:35:51

标签: sql-server database-administration

我正在尝试从未使用的文件组中删除数据库中的所有文件。有两个文件总共1.5TB。 我可以看到现在这些文件中仍然有大约400mb,但是我看不出它是什么或者如何删除它。

select * from sys.allocation_units a --where data_space_id = 6
inner join sys.partitions b on a.container_id = b.hobt_id --type = 1
where data_space_id = 6

- 给我以下结果集

SELECT * INTO #tmp_GridResults_1
FROM (
SELECT N'72057781944647680' AS [allocation_unit_id], N'1' AS [type], N'IN_ROW_DATA' AS [type_desc], N'72057777021059072' AS [container_id], N'6' AS [data_space_id], N'0' AS [total_pages], N'0' AS [used_pages], N'0' AS [data_pages], N'72057777021059072' AS [partition_id], N'741132535' AS [object_id], N'9' AS [index_id], N'1' AS [partition_number], N'72057777021059072' AS [hobt_id], N'0' AS [rows], N'0' AS [filestream_filegroup_id], N'0' AS [data_compression], N'NONE' AS [data_compression_desc] ) t;
SELECT [allocation_unit_id], [type], [type_desc], [container_id], [data_space_id], [total_pages], [used_pages], [data_pages], [partition_id], [object_id], [index_id], [partition_number], [hobt_id], [rows], [filestream_filegroup_id], [data_compression], [data_compression_desc]
FROM #tmp_GridResults_1

DROP TABLE #tmp_GridResults_1
GO

X

select * from sys.allocation_units a --where data_space_id = 6
inner join sys.partitions b on a.container_id = b.hobt_id --type = 1
inner join sys.objects c on c.object_id = b.object_id
where data_space_id = 6

- 不返回任何内容

所以看来我在数据库中有一个对象没有占用400mb的行,在sys.objects中没有记录

我已经尝试将一个小文件添加到文件组并对我要删除的文件执行空文件操作,然后执行dbcc shrink emptyfile但是我得到“页面无法移动,因为它在收缩期间被释放”页面指的是分配单元中包含但不在sys.objects中的对象

DBCC checkdb在尝试打开或创建物理文件时出现“CREATE FILE遇到操作系统错误665(无法完成起诉文件系统限制)”失败

关于如何进步的任何想法,我真的想删除这些文件或至少将它们缩小到更小的尺寸

0 个答案:

没有答案