如何使用tsql在SQL Server 2008上查找文件组的物理位置?
答案 0 :(得分:4)
试试这个..
SELECT * FROM sys.database_files
或强>
SELECT * FROM sys.sysaltfiles
同时强>
使用此脚本可以查看对象及其实际物理文件名和位置的更详细图片。
SELECT OBJECT_NAME(i.id) AS Table_Name
, i.indid AS Index_ID
, i.name AS Index_Name
, i.groupid AS Group_ID
, f.name AS File_Group
, d.physical_name AS [File_Name]
, s.name AS Dataspace
FROM sys.sysindexes i
INNER JOIN sys.filegroups f ON f.data_space_id = i.groupid
INNER JOIN sys.database_files d ON f.data_space_id = d.data_space_id
INNER JOIN sys.data_spaces s ON f.data_space_id = s.data_space_id
WHERE OBJECTPROPERTY(i.id, 'IsUserTable') = 1
答案 1 :(得分:0)
我想你可能正在寻找这篇文章。
答案 2 :(得分:0)
我认为sys.data_spaces返回的信息实际上是数据的逻辑位而不是物理位置。
答案 3 :(得分:0)
这是您想看到的:
SELECT
[Filegroup_Name] = fg.[name],
[DB_File_Logical_Name] = df.[name],
[DB_File_Physical_Name] = df.[physical_name]
FROM sys.filegroups fg
JOIN sys.database_files df ON df.[data_space_id] = fg.[data_space_id]