我已将4个数据库恢复到新的SQL 2008 R2服务器中。 两个数据库来自SQL 2000备份,另外两个来自SQL 2005。 为什么当我查看存储行数据文件的文件夹并查看文件下的数据库属性时,2000数据库文件具有SQL数据库主数据文件类型的MDF扩展,而2005年来自的数据库文件没有“文件”类型的扩展名?
所有数据库都正常运行。
答案 0 :(得分: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文件,则至少有一个丢失扩展名可能存在问题的地方,例如,它无法忽略没有扩展名的文件。
答案 1 :(得分:1)
数据库可以有三个文件作为它的内部部分,它们是
1).mdf文件
2).ldf文件
3).ndf文件
默认情况下,数据文件是MDF,日志文件是LDF。
其他数据文件通常具有.NDF扩展名。