如何在SQL Server 2005中获取数据库的物理数据库和日志文件位置(文件系统路径)?
我用它来获取mdf文件:{SELECT [Name],FileName FROM sysdatabases}但是还需要获取日志文件......
干杯, 康纳
答案 0 :(得分:6)
SELECT * FROM sys.database_files
答案 1 :(得分:2)
这是另一种方式
select * from sys.sysaltfiles
答案 2 :(得分:2)
您应该使用sp_helpdb或sp_helpfile。
e.g:
sp_helpdb 'master'
答案 3 :(得分:1)
尝试此T-SQL语句提供当前SQL Server实例中可用的所有数据库的数据/日志文件的逻辑名称和物理位置
SELECT db_name(database_id)as DatabaseName,name,type_desc,physical_name FROM sys.master_files
如果您使用的是SQL Server 2000,则可以执行以下T-SQL语句
SELECT db_name(dbid)as DatabaseName,name,filename FROM master.dbo.sysaltfiles
答案 4 :(得分:0)
我使用以下脚本来检索数据/日志文件名和路径:
declare @DBName sysname
, @LogicalDataFile sysname
, @LogicalLogFile sysname
, @PhysicalDataFile nvarchar(260)
, @PhysicalLogFile nvarchar(260)
set @DBName = '<database-name>'
-- Data file
select @LogicalDataFile = name
, @PhysicalDataFile = physical_name
from sys.master_files
where database_id = db_id(@DBName)
and type_desc = 'ROWS'
-- Log file
select @LogicalLogFile = name
, @PhysicalLogFile = physical_name
from sys.master_files
where database_id = db_id(@DBName)
and type_desc = 'LOG'
select @LogicalDataFile as [@LogicalDataFile]
, @LogicalLogFile as [@LogicalLogFile]
, @PhysicalDataFile as [@PhysicalDataFile]
, @PhysicalLogFile as [@PhysicalLogFile]