我怎麼能知道我剛插入到數據庫中的FILESTREAM
數據的物理位置(所以我可以在Windows資源管理器中看到它)?FILESTREAM數據的物理位置
2
A
回答
0
首先,您需要了解FileStream存儲在承載SQL Server 2008數據庫的服務器上。如果您有DBA,請問他們在哪裏創建了FileStream。當然,您將需要權限到服務器來導航它以查看目錄。您將無法以任何方式操作文件,但您將能夠看到它們。大多數DBA不會熱衷於讓你知道FileStream的位置。
但是,您可以通過其他方式獲取路徑。想到的一種方法是通過選擇FileStream字段的PathName()。假設啓用FileStream的字段是ReportData,並且它所在的表是TblReports。下面的T-SQL語法將產生一個UNC的位置:
select top 1 ReportData.PathName(0)
from dbo.datReport
,我相信你也可以在通過企業管理等手段的路徑,但我忘了如何在一瞬間。
2
正如Pawel所述,使用Windows資源管理器訪問FILESTREAM文件不是一個好主意。如果您仍然決定繼續探索,請閱讀以下提示。
FILESTREAM文件名實際上是創建文件時數據庫事務日誌中的日誌序列號。 Paul Randal在this post中解釋過它。因此,一種方法是找出日誌序列號並查找文件流數據容器中以該文件命名的文件。
3
我知道這是一個較舊的帖子,但它仍然出現在谷歌搜索排名高,我想我會發佈一個答案。當然,在SQL的更高版本(我還沒有嘗試這個於2008年),您可以運行下面的查詢:
SELECT t.name AS 'table',
c.name AS 'column',
fg.name AS 'filegroup_name',
dbf.type_desc AS 'type_description',
dbf.physical_name AS 'physical_location'
FROM sys.filegroups fg
INNER JOIN sys.database_files dbf
ON fg.data_space_id = dbf.data_space_id
INNER JOIN sys.tables t
ON fg.data_space_id = t.filestream_data_space_id
INNER JOIN sys.columns c
ON t.object_id = c.object_id
AND c.is_filestream = 1
7
有這個一個選項:()方法PhysicalPathName。如果你是SQL Server 2012中或上現在,該代碼會爲你工作:
SELECT stream.PhysicalPathName() AS 'Path' FROM Media
OPTION (QUERYTRACEON 5556)
對於SQL Server 2008/2008 R2則需要啓用跟蹤標誌5556爲整個實例:
DBCC TRACEON (5556, -1)
GO
或爲特定連接中,您呼叫PhysicalPathName()方法:
DBCC TRACEON (5556, -1)
GO
0
--filestream文件路徑
SELECT col.PathName() AS path FROM tbl
相關問題
- 1. 雲上的物理數據位置
- 2. MapR數據庫表的物理數據位置
- 3. Hadoop配置物理位置
- 4. RichTextBox CaretPosition物理位置
- 5. 物體在數據庫中的位置
- 6. Android模擬器數據庫的物理位置
- 7. 在Management Studio中爲單個數據庫選擇物理位置
- 8. 數據庫物理文件存儲位置
- 9. 數據庫表格插入,例外19和物理位置
- 10. SQL物理數據庫文件位置(恢復)?
- 11. Windows安裝程序數據庫物理位置
- 12. 我的Heroku插件的物理位置
- 13. 泊塢窗配置物理位置
- 14. Cassandra的墓碑物理位置
- 15. android移動版localstorage的物理位置?
- 16. DTO在項目中的物理位置
- 17. xcode中目標的物理位置
- 18. 刪除FILESTREAM數據
- 19. NSUserDefaults物理數據
- 20. FILESTREAM處理
- 21. 理解FILESTREAM
- 22. 瀏覽器存儲 - 物理位置?
- 23. UIPasteboard物理位置在哪裏?
- 24. 從物理位置讀取任何xml
- 25. ASP .net當前物理位置
- 26. 爲什麼物理Web需要位置?
- 27. 碼頭圖像物理存儲位置
- 28. 分配IP地址到物理位置
- 29. 使用行的物理位置作爲數據庫中的主鍵
- 30. AltDS - 備用數據流在光盤上的物理存儲位置在哪裏?
爲什麼你需要這個?作爲普通文件訪問文件流文件不是推薦的。默認情況下,你甚至無法訪問這些文件。這就像在一個mdf文件中的哪個位置可以找到剛剛插入數據庫表中的值。直接篡改文件流文件(而不是通過提供的API)是破壞數據庫的簡單方法。 – 2010-02-02 23:54:43