データベースファイル一覧

SQL Server でデータベース名とデータベースファイル名の一覧を出力するクエリです。

select sys.databases.name, type_desc, size, physical_name
from sys.databases, sys.master_files
where sys.databases.database_id = sys.master_files.database_id;

結果です。ちょっと加工してあります。

name             type_desc size physical_name
---------------  --------- ---- ----------------------------------
master           ROWS      512  C:\MSSQL.1\MSSQL\DATA\master.mdf
master           LOG       160  C:\MSSQL.1\MSSQL\DATA\mastlog.ldf
tempdb           ROWS      1024 C:\MSSQL.1\MSSQL\DATA\tempdb.mdf
tempdb           LOG       64   C:\MSSQL.1\MSSQL\DATA\templog.ldf
model            ROWS      280  C:\MSSQL.1\MSSQL\DATA\model.mdf
model            LOG       128  C:\MSSQL.1\MSSQL\DATA\modellog.ldf
msdb             ROWS      696  C:\MSSQL.1\MSSQL\DATA\MSDBData.mdf
msdb             LOG       256  C:\MSSQL.1\MSSQL\DATA\MSDBLog.ldf
MYDB             ROWS      2560 C:\MSSQL.1\MSSQL\DATA\MYDB.mdf
MYDB             LOG       640  C:\MSSQL.1\MSSQL\DATA\MYDB.ldf

(10 行処理されました)

sizeの単位は何か、調べたいとは思うのですが、今回はパス。

追記: sys.databasesを使う意味なし!再提出。