查找未使用的mdf和ldf文件位置

时间:2016-10-21 14:10:03

标签: sql-server-2008 tsql

我们可以使用sp_helpdb或使用以下命令找到mdf和ldf文件位置。

outcome

但是我们怎样才能找到目前没有使用的ldf和mdf文件,即假设你用新的mdf和ldf文件恢复了一个数据库而没有删除旧的mdf和ldf文件。

2 个答案:

答案 0 :(得分:1)

没有简单直接的方法。您可以通过搜索服务器手动执行此操作,或者在此处拼写更复杂的方法:

Finding un-used data files

答案 1 :(得分:1)

您可以尝试以下方式:

IF OBJECT_ID(N'tempdb.dbo.#AllMDFfiles', N'U') IS NOT NULL
BEGIN   DROP TABLE #AllMDFfiles END
CREATE TABLE #AllMDFfiles (mdfFileName VARCHAR(max))

-- Will return all the .mdf and .ldf in C:\ drive, you can change it in ... /d C:\ && dir /b....
INSERT INTO #AllMDFfiles EXEC xp_cmdshell 'cmd /c "cd /d C:\ && dir /b /s | sort | findstr /c:".mdf" /c:".ldf""'

--Will return the mdfs and ldf paths which are not in sys.master_files
select mdfFileName from #AllMDFfiles
Where mdfFileName IS NOT NULL

EXCEPT

SELECT physical_name FROM sys.master_files