方式一:用于查询all数据库,适用于SQL2005及以上版本。
USE [Master]
/****** 对象 : Table [dbo].[Master] 脚本日期 : 06/29/2009 11:11:01 ******/
--SA 登录
select a. [name] 逻辑文件名
, case when charindex ( 'log' , b. [name]) >= 1
then ' 数据库日志文件 ->' + b. [name]
else ' 数据库主文件 ->' + b. [name] end 物理文件名
, b. physical_name 物理路径
from sys.databases a
join sys.master_files b on a. database_id= b. database_id
-- 结果附图:
方式二:用于查询all数据库,适用于SQL2000及以上版本。
/****** 对象 : Table [dbo].[Master] 脚本日期 : 10/10/2010 10:11:01 ******/
--SA 登录
select
[dbid] '数据库 ID'
, CASE WHEN fileid = 1 THEN ' 主数据 '
WHEN fileid = 2 THEN ' 主日志 '
WHEN fileid between 2 and 65536 THEN ' 日志文件 ' + LTRIM ( fileid - 2)
END 文件类型
, name 逻辑文件名
, [filename] 物理路径
, [status] 数据库状态
, size 数据库大小
, maxsize 数据库最大值
, growth [ 文件增长值 / 比率 ]
from sys . sysaltfiles
-- 结果附图:
方式三:用于查询all数据库,适用于SQL2005及以上版本。
/****** 对象 : Table [dbo].[Master] 脚本日期 : 10/23/2010 10:11:01 ******/
--SA 登录
select
database_id '数据库 ID'
, CASE WHEN FILE_ID = 1 THEN ' 主数据 '
WHEN FILE_ID = 2 THEN ' 主日志 '
WHEN FILE_ID between 2 and 65536 THEN ' 日志文件 ' + LTRIM ( FILE_ID - 2)
WHEN FILE_ID = 65537 THEN ' 文件流 '
END 文件类型
, name 逻辑文件名
, physical_name 物理路径
, state_desc 数据库状态
, size 数据库大小
, max_size 数据库最大值
, CASE WHEN is_percent_growth = 1
then LTRIM ( growth )+ '%'
else LTRIM ( growth )+ 'KB' END 文件增长值
from sys . master_files
-- 结果附图:
--注:方式二和三中的相关参数定义
--max_size 数据库最大值参数释义:
0 = 不允许增长;
-1 = 文件将一直增长到磁盘变满为止;
268435456 = 日志文件将增长到最大大小 2 TB。
--如果升级的数据库没有限制日志文件大小,则日志文件的最大大小将报告为 -1。