无法从 Sql Server 2008 中删除 FileStream 组

use*_*711 5 sql-server-2008 sql-server filestream

我们已将所有 varbinary(max) 列数据迁移到 Azure Blob 存储,因此我们希望删除保留在 Sql 2008 数据库和文件流文件组中的旧文件流列,但是当我们尝试这样做时,出现错误:

Msg 5042, Level 16, State 11, Line 2
The filegroup 'FileStreamGroup' cannot be removed because it is not empty.
Run Code Online (Sandbox Code Playgroud)

但是,当我们运行它时:

exec sp_helpfilegroup 'FileStreamGroup'
Run Code Online (Sandbox Code Playgroud)

它正在返回:

groupname           groupid    filecount
FileStreamGroup     2          0
Run Code Online (Sandbox Code Playgroud)

所以文件计数是 0 但它不会让我们删除它,有没有其他人遇到过这个问题,你到底如何从数据库中完全删除文件流。

另外这个查询:

select * from sys.tables t 
join sys.data_spaces ds on t.filestream_data_space_id = ds.data_space_id 
Run Code Online (Sandbox Code Playgroud)

返回 0 行,因此如果我理解正确,则没有表使用任何文件流数据。

Sha*_*ehr 0

我有同样的问题。最终我发现我需要将数据库恢复模式从“完整”更改为“简单”,然后我可以删除我的文件流文件。