每个SQL Server 2000数据库都有一个主数据文件,可以有多个辅数据文件,后者只能供该数据库使用
,但是应该如何建立这样的数据库呢?这样建立的多文件数据库有什么好处吗???

解决方案 »

  1.   

    建立文件组FG_INDEX(数据库右键->文件组)、文件grdt2000_Index_Data.NDF(数据库右键->数据文件).CREATE TABLE [jobs] (
    [job_id] [smallint] IDENTITY (1, 1) NOT NULL ,
    [job_desc] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF__jobs__job_desc__1273C1CD] DEFAULT ('New Position - title not formalized yet'),
    [min_lvl] [tinyint] NOT NULL ,
    [max_lvl] [tinyint] NOT NULL ,
    [salary] [decimal](18, 0) NULL ,
     PRIMARY KEY  CLUSTERED 
    (
    [job_id]
    )  ON [PRIMARY] ,
     CHECK ([max_lvl] <= 250),
     CHECK ([min_lvl] >= 10),
    CONSTRAINT [CK_jobs] CHECK ([salary] <= 450)
    ) ON [FG_INDEX]
    GO
      

  2.   

    如果你只有一个硬盘,用多个数据文件会导致io队列的增加,对性能有影响。如果有多个硬盘还是raid比较快。所以不建议用多个数据文件,除非你用了分区表
      

  3.   

    /*在databaseName数据库建文件组FILEGROUPName*/
    ALTER DATABASE databaseName ADD FILEGROUP [FILEGROUPName]/*建物理文件,指定所属文件组FILEGROUPName*/
    ALTER DATABASE databaseName
    ADD FILE 
    (NAME = N'Data00001',
    FILENAME = N'E:\SQLData\MSSQL\Data\Data00001.ndf')
    TO FILEGROUP [FILEGROUPName]/*在指定文件上建表*/
    create table t_Data00001 (
       id int not null,
       name varchar(20)
    ) on Data00001
    go-------------------------
    这样建主要对数据量较大的数据库有好处:
    1。数据可分散在不同的硬盘上;
    2。可利用多个CPU,提高运行速度等等。