2010-09-21 48 views

回答

30

這會給你相關的任何離線數據庫所有物理文件路徑列表,數據庫名和文件類型一起:

SELECT 
'DB_NAME' = db.name, 
'FILE_NAME' = mf.name, 
'FILE_TYPE' = mf.type_desc, 
'FILE_PATH' = mf.physical_name 
FROM 
sys.databases db 
INNER JOIN sys.master_files mf 
ON db.database_id = mf.database_id 
WHERE 
db.state = 6 -- OFFLINE 
0

列出所有可用的,但離線SQL服務器數據庫文件

以下語句將列出所有關聯的文件脫機SQL Server數據庫

SELECT 
    m.physical_name + '\' + m.name AS [file_path] 
FROM 
    sys.databases AS d 
    INNER JOIN sys.master_files AS m ON d.database_id = m.database_id 
WHERE 
    d.state_desc = 'OFFLINE' 
    --AND m.type_desc = 'ROWS' 
GROUP BY 
    m.physical_name + '\' + m.name 

注:取消行AND m.type_desc = 'ROWS'(刪除 - ),以進一步過濾列表,只包括數據庫文件。否則,日誌文件也將被列出。

GROUP BY子句用於防止條目多次出現。

相關問題