2013-05-07 25 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