在查询分析器中用以下语句建立数据库时,请问on primary后面的 name='mydb'这个名字到底代表一个什么样的名字,在什么场合会用到这个名字?create database mydb
on primary (name='mydb',filename='c:\database\mydb_primary.mdf')

解决方案 »

  1.   

    NAME为由 <filespec> 定义的文件指定逻辑名称。如果指定了 FOR ATTACH,则不需要指定 NAME 参数。
      

  2.   

    楼上两位讲得都对,但似乎没有说明这个名称会派什么用处,而且我发现建立完成后几乎都找不到这个name会出现在什么地方?请高手说明,谢谢!
      

  3.   

    其他的参考帮助1.主文件包含数据库的启动信息。主文件还可以用来存储数据。每个数据库都包含一个主文件。2.次要文件保存所有主要数据文件中容纳不下的数据。如果主文件大到足以容纳数据库中的所有数据,就不需要有次要数据文件。而另一些数据库可能非常大,需要多个次要数据文件,也可能使用多个独立磁盘驱动器上的次要文件,以将数据分布在多个磁盘上。
    ----------------------------------------
    CREATE DATABASE Archive 
    ON
    PRIMARY ( NAME = Arch1,
          FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat1.mdf',
          SIZE = 100MB,
          MAXSIZE = 200,
          FILEGROWTH = 20)
    ------------------------------
    CREATE DATABASE Archive 
    ON
    PRIMARY ( NAME = Arch1,
          FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat1.mdf',
          SIZE = 100MB,
          MAXSIZE = 200,
          FILEGROWTH = 20),
    ( NAME = Arch2,
       FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat2.ndf',
       SIZE = 100MB,
       MAXSIZE = 200,
       FILEGROWTH = 20),
    ( NAME = Arch3,
       FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat3.ndf',
       SIZE = 100MB,
       MAXSIZE = 200,
       FILEGROWTH = 20)
    LOG ON 
    ( NAME = Archlog1,
       FILENAME = 'c:\program files\microsoft sql server\mssql\data\archlog1.ldf',
       SIZE = 100MB,
       MAXSIZE = 200,
       FILEGROWTH = 20),
    ( NAME = Archlog2,
       FILENAME = 'c:\program files\microsoft sql server\mssql\data\archlog2.ldf',
       SIZE = 100MB,
       MAXSIZE = 200,
       FILEGROWTH = 20)
    GO
      

  4.   

    记得在手工还原时候能用到那  逻辑名称(name)
    至于其他的在学习中......