2016-10-21 2 views
0

Мы можем найти расположение файлов mdf и ldf либо с помощью sp_helpdb, либо с помощью команды ниже.Найти неиспользуемые местоположения файлов mdf и ldf

SELECT * FROM sys.master_files 

Но как мы можем найти LDF мдф файлы, которые не используются в настоящее время то есть Пусть говорят, вы восстановили одну базу данных с новыми мдф и LDF файлов и не удаляются старые и LDF MDF файлов.

ответ

1

Нет прямого пути вперед. Вы можете вручную сделать это с помощью функции поиска сервера или есть более сложный путь прописан здесь:

Finding un-used data files

+0

спасибо Мистер Позитив. – Franklin

+0

Если это работает, можете ли вы отметить его как ответ? –

+0

Я проголосовал за это как полезное. Пожалуйста, помогите мне, как принять ответ. – Franklin

0

Вы можете попробовать ниже способом:

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 
+0

Привет, p2k спасибо за ваш ответ. К сожалению, он занимает много времени для запуска и не возвращает ожидаемых результатов тоже. – Franklin

+0

, как ожидается, потребуется время, в зависимости от размера дисков, которые у вас есть. Не могли бы вы сообщить мне, что пропустили от ожидаемого? – p2k

+0

Я не хочу, чтобы mssqlsystemresource.mdf, ldf, model, msdb и т. Д. – Franklin

Смежные вопросы