如何查找哪个数据库使用文件

时间:2009-08-31 09:34:08

标签: sql-server database sql-server-2005 file

使用MS SQL Server 2005。

在我们的一台服务器上,我们的空间不足,所以我正在浏览数据库,缩小,删除,备份等。

Data目录中的最大文件(.mdf不少,不是.ldf)没有根据我们的通用命名约定命名(它应该反映数据库的名称)。我无法移动文件,因此我知道它正在使用中,但我不知道哪个数据库使用它。

除了遍历此服务器上的许多数据库之外,有没有办法解决这个问题?

我试过

SELECT * FROM sys.database_files

但是这只是给了我Master数据库使用的文件。

修改 我一直在寻找,发现了以下内容:

SELECT * FROM sys.sysaltfiles

这将列出服务器上下文中的文件名和文件名。它还列出了dbid,但这似乎与sys.databases中的database_id不同。

1 个答案:

答案 0 :(得分:1)

由于您已选择master作为当前数据库,因此您将获取Master数据库正在使用的文件。如果您没有那个许多数据库,您可以手动遍历所有数据库并对其进行选择。

尝试

SELECT * FROM sys.master_files