每个数据库至少有两个文件,一个主文件和一个事务日志文件。尽管 'os_file_name' 可以是任何有效的操作系统文件名,但如果使用以下建议的扩展名,则可以更加清楚地反映文件的用途。文件类型 文件扩展名 
主要数据文件 .mdf 
次要数据文件 .ndf 
事务日志文件 .ldf 就是说,可以是其它的扩展名,但建议使用mdf,更清楚。就像一个xml文件,你存为扩展名为txt,读取时照样用dom可操作,但是存为xml更明确。

解决方案 »

  1.   

    我想测试下可以为其它扩展名,试图将一个文本文件 附加到SQL Server作为数据文件,但提示:
    无法为此请求检索数据.(Microsoft.SqlServer.Express.SmoEnum)
    Additional information:
      执行Transact-SQL语句或批处理时发生了异常.(Microsoft.Sqlserver.Express.ConnectionInfo)
         [文件名]不是主数据库文件.(Microsoft.SQL.Server,Error:5171)然后,我将一个primary data file与transaction log file 分离出来后,试图更改它们的extension后,看能否再附加到Server,但extension改不了.那我怎么验证primary data file和transaction log file的扩展名可以是任意了呢?
      

  2.   

    如何不行呢?企业管理器手工操作.
    新建库,输入库名test,切到数据文件选项卡,选中主文件,按浏览(也就是...的按钮),我输入 test_data.xxx.
    建完库后打开data目录,出现 test_data.xxx,test_log.ldf.
    如果用语句CREATE DATABASE test 
    ON
    PRIMARY ( NAME = xxx,
          FILENAME = 'd:\program files\microsoft sql server\mssql\data\test_data.xxx',--这里自己手工指定主文件名就可以了。
          --...其它选项参数
      

  3.   


    你随手把一个txt附加到sqlserver,当然不行了。就好像,我打了abcd存为x.txt,然后用xmldom操作它一样。它本身的数据就不是数据文件。对于已存在的主数据文件mdf,先将库脱机,再改扩展名,然后附加,是可以的。
      

  4.   


    你输入的test_data.xxx,其中.xxx还是物理文件名的一部分,extension还是.mdf;这你可以在"数据库属性"的"文件"中看到,你也可以在data目录中看到,
    欢迎讨论!
    另外请教下,怎么样改数据库文件的扩展名啊,好像直接改不了啊!请说明下详细操作过程!