2012-07-16 102 views
0

我已将4个数据库还原到新的SQL 2008 R2服务器中。 两个数据库来自SQL 2000备份,另外两个来自SQL 2005. 当我查看存储行数据文件的文件夹并查看文件下的数据库属性时,2000数据库文件具有MDF扩展与类型SQL数据库主数据文件,并且来自2005年的没有类型“文件”的扩展名?MDF文件丢失扩展

所有数据库工作正常。

回答

2

我猜想是因为这些文件在Windows资源管理器中没有.mdf扩展名。这并不是一件可怕的事情,它只是意味着设置原始数据库的人使用了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文件,例如,它可以”不要忽略没有扩展名的文件。

+0

太棒了!感谢您及时的回复。但是,从技术上说,你现在说它会很好吗? – ssokol91 2012-07-16 20:32:59

+1

@ ssokol91是的,它会工作得很好,除了任何类型的文件扫描仪等。 – 2012-07-16 20:42:14

1

数据库可以有三个文件作为它的一个内部部分,而且他们 1).mdf文件 2).LDF文件
3).NDF文件 默认情况下,数据文件MDF和日志文件是LDF 。 其他数据文件通常具有.NDF扩展名。