Получить список файлов базы данных сервера SQL, которая находится в автономном режиме - PullRequest
18 голосов
/ 21 сентября 2010

У меня есть несколько автономных баз данных на сервере SQL. Я хотел бы знать, какие файлы на диске связаны с этими базами данных. Можно ли получить список файлов автономных баз данных, не подключая их сначала к сети?

Ответы [ 3 ]

37 голосов
/ 05 октября 2010

Это даст вам список всех физических путей к файлам , связанных с любыми автономными базами данных , а также имя базы данных и тип файла:

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
2 голосов
/ 16 октября 2018

Или просто

select * from sys.databases where state_desc='OFFLINE'
0 голосов
/ 10 мая 2016

Список всех доступных, но автономных файлов базы данных сервера SQL

Следующий оператор перечислит все файлы, связанные с автономными базами данных 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

Примечание. Раскомментируйте строку AND m.type_desc = 'ROWS' (удалите -), чтобы дополнительно отфильтровать список, включив в него только файлы базы данных. В противном случае файлы журнала также будут перечислены.

Предложение GROUP BY предназначено для предотвращения появления записей более одного раза.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...