使用TSQL在SQL 2008上查找文件组的物理位置

时间:2013-11-19 19:51:19

标签: sql-server-2008 tsql

如何使用tsql在SQL Server 2008上查找文件组的物理位置?

4 个答案:

答案 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)

我想你可能正在寻找这篇文章。

sys.master_files (Transact-SQL)

答案 2 :(得分:0)

我认为sys.data_spaces返回的信息实际上是数据的逻辑位而不是物理位置。

sys.data_spaces and partitioning

答案 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]