我已将 4 个数据库恢复到我的新 SQL 2008 R2 服务器中。两个数据库来自 SQL 2000 备份,另外两个来自 SQL 2005。为什么当我查看存储行数据文件的文件夹并查看文件下的数据库属性时,2000 数据库文件的 MDF 扩展名为类型 SQL 数据库主数据文件,来自 2005 年的那些没有“文件”类型的扩展名?
所有数据库都正常工作。
我已将 4 个数据库恢复到我的新 SQL 2008 R2 服务器中。两个数据库来自 SQL 2000 备份,另外两个来自 SQL 2005。为什么当我查看存储行数据文件的文件夹并查看文件下的数据库属性时,2000 数据库文件的 MDF 扩展名为类型 SQL 数据库主数据文件,来自 2005 年的那些没有“文件”类型的扩展名?
所有数据库都正常工作。
我猜是因为这些文件在 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).mdf 文件 2).ldf 文件
3).ndf 文件 默认数据文件是 MDF,日志文件是 LDF。其他数据文件通常具有 .NDF 扩展名。