How do I find the data directory for a SQL Server instance?

后端 未结 15 2637
挽巷
挽巷 2020-11-30 23:16

We have a few huge databases (20GB+) which mostly contain static lookup data. Because our application executes joins against tables in these databases, they have t

15条回答
  •  甜味超标
    2020-12-01 00:09

    You will get default location if user database by this query:

    declare @DataFileName nVarchar(500)
    
    declare @LogFileName   nVarchar(500)
    
    
    set @DataFileName = (select top 1 RTRIM(LTRIM(name)) FROM master.sys.master_files where database_id >4 AND file_id = 1)+'.mdf'
    set @LogFileName =   (select top 1 RTRIM(LTRIM(name)) FROM master.sys.master_files where database_id >4 AND file_id = 2)+'.ldf'
    
    select  
    ( SELECT top 1 SUBSTRING(physical_name, 1, CHARINDEX(@DataFileName, LOWER(physical_name)) - 1) 
    FROM master.sys.master_files
    WHERE database_id >4 AND file_id = 1) as 'Data File'
    ,
    
    (SELECT top 1 SUBSTRING(physical_name, 1, CHARINDEX(@LogFileName, LOWER(physical_name)) - 1)
    FROM master.sys.master_files
    WHERE database_id >4 AND file_id = 2)  as 'Log File'
    

提交回复
热议问题