一个数据库怎么分为多个“mdf”文件了???      多个“mdf”文件是一个数据库,这是怎么回事呢???   详细情况如下图所示。
这么多的“mdf”文件是一个数据库所有的。在这种情况下如果要拷贝数据库,是不是就不能先“分离”,再“附加”了。而只能备份,然后还原呢???

解决方案 »

  1.   

    mdf只能有一个,你要分也只能分为ndf。
      

  2.   

    数据库文件的拆分:
    微软的建议是按照CPU(不过主要是对tempdb)的个数分【数据文件】,也就是mdf/ndf。一般10个都够了。1个mdf,9个ndf,你非要命名为mdf的话,由于SQLServer只认一个mdf,所以会报错。日志文件即ldf是顺序读取,所以没必要分多个,给大一点就可以了。
    一般mdf/ndf可以分开物理磁盘存放,这样能分摊I/O。并且ldf也要和数据文件分开不同的物理磁盘。拆分多个【数据文件】主要是基于分摊I/O和形成文件组来管理,对于大数据库,比如100、200G以上的库,基本上都要用文件组。
    按你截图的那种分法,是错误的。最起码是不建议的。
      

  3.   


    --自已建的呗
    CREATE DATABASE [ff] ON  PRIMARY 
    ( NAME = N'ff1', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ff1.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB ), 
    ( NAME = N'ff2', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ff2.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB ), 
    ( NAME = N'ff3', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ff3.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
     LOG ON 
    ( NAME = N'ff_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ff_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
    GO
      

  4.   

    一个数据库可以有多个文件组,分配在不同的磁盘上(file group),可以均衡一下磁盘io