SQL Server - 使用MDF和LDF文件位置获取所有数据库

Meh*_*nas 16 sql-server sql-server-2008-r2

我需要一个T-SQL查询来查看SQL Server 2008中显示的所有数据库的列表

  • 数据库的名称和
  • .mdf.ldf文件的位置.

Raj*_*Raj 40

SELECT
    db.name AS DBName,
    type_desc AS FileType,
    Physical_Name AS Location
FROM
    sys.master_files mf
INNER JOIN 
    sys.databases db ON db.database_id = mf.database_id
Run Code Online (Sandbox Code Playgroud)

  • 您可以`SELECT DB_NAME(database_id)AS DBName`,而不是加入数据库表 (2认同)

Alb*_*lta 6

select 
    d.name as 'database',
    mdf.physical_name as 'mdf_file',
    ldf.physical_name as 'log_file'
from sys.databases d
inner join sys.master_files mdf on 
    d.database_id = mdf.database_id and mdf.[type] = 0
inner join sys.master_files ldf on 
    d.database_id = ldf.database_id and ldf.[type] = 1
Run Code Online (Sandbox Code Playgroud)