В файлах MDF отсутствуют расширения

Я восстановил 4 базы данных на своем новом сервере SQL 2008 R2. Две базы данных взяты из резервной копии SQL 2000, две другие из SQL 2005. Почему, когда я смотрю на папку, в которой хранятся файлы данных строк, а также смотрю свойства базы данных в файлах, файлы базы данных 2000 имеют расширения MDF с расширением тип Первичный файл данных базы данных SQL, а те, что пришли с 2005 года, не имеют расширений с типом «Файл»?

Все базы работают исправно.


person ssokol91    schedule 16.07.2012    source источник


Ответы (2)


Я предполагаю, что файлы не имеют расширения .mdf в проводнике Windows. Это не обязательно ужасно, это просто означает, что люди, которые устанавливали исходные базы данных, использовали оператор CREATE DATABASE и забыли использовать расширения, когда они называли имена физических файлов.

Если вы хотите исправить это, вы можете выполнить этот процесс:

ALTER DATABASE whatever SET OFFLINE;

ALTER DATABASE whatever MODIFY FILE (name = 'logical_name', 
  filename = 'path with .mdf added to the end');

-- repeat for log file with .ldf extension

Теперь вручную переименуйте файлы в проводнике Windows, добавив расширение.

Потом:

ALTER DATABASE whatever SET ONLINE;

По крайней мере, одно место, где это отсутствующее расширение может быть проблемой, — это если у вас запущено вирусное или вредоносное программное обеспечение, и оно настроено на игнорирование файлов SQL Server, например, оно не может игнорировать файлы без расширения.

person Aaron Bertrand    schedule 16.07.2012
comment
Замечательно! Спасибо за быстрый ответ. Тем не менее, технически вы говорите, что все будет хорошо, как сейчас? - person ssokol91; 17.07.2012
comment
@ ssokol91 да, это будет работать нормально, кроме любых файловых сканеров и т. Д. - person Aaron Bertrand; 17.07.2012

База данных может иметь три файла в качестве внутренней части: 1).mdf файл 2).ldf файл
3).ndf файл По умолчанию файлы данных имеют формат MDF, а файлы журналов — LDF. Дополнительные файлы данных обычно имеют расширение .NDF.

person Anup Pandit    schedule 05.01.2014