代码之家  ›  专栏  ›  技术社区  ›  Tomas

如何查找使用文件的数据库

  •  0
  • Tomas  · 技术社区  · 15 年前

    使用MS SQL Server 2005。

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

    数据目录中最大的文件(不少于.mdf,而不是.ldf)不是根据我们的通用命名约定命名的(它应该反映数据库的名称)。我不能移动文件,所以我知道它在使用中,但我不知道哪个数据库使用它。

    除了遍历这个服务器上的许多数据库之外,还有什么方法可以解决这个问题吗?

    我试过

    SELECT * FROM sys.database_files
    

    但这给了我master数据库正在使用的文件。

    编辑 我一直在找,发现了以下几点:

    SELECT * FROM sys.sysaltfiles
    

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

    1 回复  |  直到 15 年前
        1
  •  1
  •   Thomas Lundström    15 年前

    因为您选择了master作为当前数据库,所以master数据库将使用这些文件。如果你没有 那个 许多数据库,您可以手动遍历所有数据库并对其进行选择。

    尝试

    SELECT * FROM sys.master_files