如何查询数据库中文件流文件组的文件名?

How to query the File Name of the Filestream Filegroup in a database?

在 sys.filegroups 中,我看到了所有文件组(数据库的主要文件组和 filestram9,特别是此查询为我提供了文件组的名称:

select  name from sys.filegroups where type = 'FD'

我想获取该文件组的文件名,对于文件流文件组,文件名是磁盘上存储文件流数据的物理路径,通过选择数据库属性然后导航到管理工作室可以看到它文件部分。

以下查询将为您提供所需的值

DECLARE @full_path VARCHAR(1000)
SET @full_path = 
(SELECT physical_name 
 FROM sys.master_files 
 WHERE name = 
 (SELECT  name 
  FROM sys.filegroups 
  WHERE type = 'FD'))

SELECT LEFT(@full_path,LEN(@full_path) - 
charindex('\',reverse(@full_path),1) + 1) [FileStreamPath]