Sql server 如何查找使用文件的数据库
使用MS SQL Server 2005 在我们的一台服务器上,我们的空间不够了,所以我要检查数据库,缩小、删除、备份等等 数据目录中最大的文件(不少于.mdf,而不是.ldf)没有按照我们的通用命名约定命名(它应该反映数据库的名称)。我无法移动该文件,因此我知道它正在使用中,但我不知道哪个数据库使用它 除了遍历这个服务器上的许多数据库之外,还有其他方法可以解决这个问题吗 我试过了Sql server 如何查找使用文件的数据库,sql-server,database,sql-server-2005,file,Sql Server,Database,Sql Server 2005,File,使用MS SQL Server 2005 在我们的一台服务器上,我们的空间不够了,所以我要检查数据库,缩小、删除、备份等等 数据目录中最大的文件(不少于.mdf,而不是.ldf)没有按照我们的通用命名约定命名(它应该反映数据库的名称)。我无法移动该文件,因此我知道它正在使用中,但我不知道哪个数据库使用它 除了遍历这个服务器上的许多数据库之外,还有其他方法可以解决这个问题吗 我试过了 SELECT * FROM sys.database_files 但这只是给了我主数据库正在使用的文件 编辑 我
SELECT * FROM sys.database_files
但这只是给了我主数据库正在使用的文件
编辑
我一直在寻找,发现如下:
SELECT * FROM sys.sysaltfiles
这将列出文件名和服务器上下文中的文件名。它还列出了dbid,但这似乎与sys.databases中的数据库_id不同 由于您选择了主数据库作为当前数据库,因此可以获取主数据库正在使用的文件。如果没有那么多数据库,可以手动遍历所有数据库并对其执行选择 试一试
我知道,但是这台服务器上有167个数据库。你输入的select实际上有效!它告诉我文件的物理名称以及它链接到的数据库。谢谢
SELECT * FROM sys.master_files