Как мне найти, какая база данных использует файл - PullRequest
0 голосов
/ 31 августа 2009

Использование MS SQL Server 2005.

На одном из наших серверов у нас мало места, поэтому я просматриваю базы данных, сжимаю, удаляю, делаю резервные копии и т. Д.

Самый большой файл в каталоге данных (не менее .mdf, а не .ldf) не назван в соответствии с нашим общим соглашением об именах (он должен отражать имя базы данных). Я не могу переместить файл, поэтому я знаю, что он используется, но я не знаю, какая база данных его использует.

Есть ли способ выяснить это помимо обхода множества баз данных на этом сервере?

Я пытался

SELECT * FROM sys.database_files

Но это только дало мне файлы, используемые базой данных Master.

Редактировать Я продолжал искать и нашел следующее:

SELECT * FROM sys.sysaltfiles

Здесь перечислены имена файлов и имена файлов в контексте сервера. В нем также указан dbid, но он не совпадает с идентификатором database_id в sys.databases.

1 Ответ

1 голос
/ 31 августа 2009

Вы получаете файлы, используемые базой данных Master, так как вы выбрали мастер в качестве текущей базы данных. Если у вас нет , что многих баз данных, вы можете просмотреть все базы данных вручную и сделать выборку на них.

Попробуйте

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