2013-05-07 58 views
0

我为sqlserver创建了一个自定义IFilter,用于我的扩展(我们可以称之为“abc”)。 abc文件是通用的加密文件,它们最初具有不同的扩展名,并记录在sqlserver filetable中。当我将一个文件复制到我的文件表中时,我将文件加密,然后在abc中改变扩展名,并将原始扩展名记录在同一个数据库的另一个表中。 当我的IFilter启动时,它会收到一个带有abc扩展名的文件,但是他的名字是由sqlserver创建的,并且它与存储在filetable中的文件的名称没有任何关联。 如果我可以从该名称中检索filetable中的记录,那么我的问题就可以解决。filetable sqlserver的物理文件名

在此先感谢 路易吉

回答

0

这可能是有益的你 -

SELECT 
     f.directory_name 
    , f.filename_collation_id 
    , f.filename_collation_name 
FROM sys.filetables f 
JOIN sys.tables t ON f.[object_id] = t.[object_id] 
WHERE f.is_enabled = 1 
    AND t.name = 'table1' 

此查询返回服务器上的所有活动filetables的名单。

+0

谢谢,但我需要filetable中的单个文件的名称,而不仅仅是filetable本身。 – gigiuzzo 2013-05-07 10:00:09

+0

请尝试更新的答案。 – Devart 2013-05-07 10:03:46