Obter a lista de ficheiros de uma base de dados do servidor SQL que está desligada

Tenho algumas bases de dados offline num servidor SQL. Gostaria de saber quais os ficheiros em disco que estão relacionados com estas bases de dados. É possível recuperar a lista de arquivos de bases de dados offline sem colocá-los online primeiro?

Author: AakashM, 2010-09-21

2 answers

Isto dar-lhe-á uma lista de todos os locais físicos de Ficheiros relacionados com qualquer bases de dados offline, juntamente com o nome da base de dados e o tipo de ficheiro:

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
 33
Author: badbod99, 2010-10-05 08:45:59

Listar todos os ficheiros de base de dados do servidor SQL disponíveis, mas desligados

A seguinte declaração irá listar todos os ficheiros associados às bases de dados offline do servidor 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

Nota: descomentar a linha AND m.type_desc = 'ROWS' (apagar o --) para filtrar a lista de modo a incluir apenas os ficheiros de bases de dados. Caso contrário, os arquivos de log também serão listados.

A cláusula GROUP BY existe para evitar que as entradas apareçam mais do que uma vez.

 0
Author: Knickerless-Noggins, 2016-05-10 12:35:59