2010-09-21 2 views

Répondre

30

Cela vous donnera une liste de tous les chemins de fichiers physiques liés à toutes les bases de données hors ligne, avec le nom de la base de données et le type de fichier:

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

Liste tous les disponibles, mais hors-ligne Fichiers de base de données SQL Server

L'instruction suivante répertorie tous les fichiers associés avec des bases de données hors ligne du serveur SQL

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 

Note: Décommentez la ligne AND m.type_desc = 'ROWS' (supprimer le -) pour filtrer la liste plus pour inclure des fichiers de base de données uniquement. Sinon, les fichiers journaux seront également répertoriés.

La clause GROUP BY est là pour empêcher que les entrées n'apparaissent plus d'une fois.