③用T-SQL语句创建数据库:
  用T-SQL语句创建数据库,可以在程序中使用,或在查询分析器中使用。语法格式如下:
   CREATE DATABASE database_name
    [ ON [PRIMARY]
    [ <filespec>[,…n] ][, <filegroup>[,…n] ] ][ LOG ON { <filespec> [,…n] } ]
    [ FOR LOAD �O FOR ATTACH ]

   <filespec>:: = (
    [ NAME = logical_file_name,]
    FILENAME = 'os_file_name'
    [,SIZE = size]
    [,MAXSIZE = {max_size|UNLIMITED}]
    [,FILEGROWTH = growth_increment]) [,…n]

   <filegroup>:: =
    FILEGROUP filegroup_name <filespec>[,…n]

  参数说明:
 ・ database_name
  新建数据库的名称。数据库名称在服务器中必须唯一,并且符合标识符的规则。database_name最多可以包含128个字符。如果没有指定日志文件的逻辑名,则SQL Server会通过向 database_name追加后缀来生成逻辑名。该操作要求database_name在123个字符之内,以便生成的日志文件逻辑名少于128个字符。
 ・ ON
  显式定义用来存储数据库数据部分的数据文件。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义主文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的 <filegroup> 项列表,<filegroup> 项用以定义用户文件组及其文件。
 ・ LOG ON
  显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义日志文件。如果没有指定 LOG ON,将自动创建一个日志文件,它使用系统生成的名称,大小为数据库中所有数据文件总大小的25%。
 ・ FOR LOAD
  支持该子句是为了与早期版本的 SQL Server 兼容。表示将备份数据直接装入新建的数据库。但从SQL Server7.0开始就可以使用RESTORE语句完成相同的功能。
 ・ FOR ATTACH
  指定从现有的一组操作系统文件中建立数据库。必须有指定第一个主文件的 <filespec> 条目。
 ・ PRIMARY
  定义数据库的主数据文件。相应<filespec>列表的第一个<filespec>条目成为主数据文件,该文件包含数据库的逻辑起点及其系统表。一个数据库只能有一个主数据文件。如果没有指定PRIMARY,那么CREATE DATABASE语句中列出的第一个文件将成为主数据文件。
 ・ NAME
  为由<filespec>定义的文件指定逻辑名称。如果指定了FOR ATTACH,则不需要指定 NAME参数。
 ・ logical_file_name
  用来在创建数据库后执行的 Transact-SQL 语句中引用文件的名称。logical_file_name 在数据库中必须唯一,并且符合标识符的规则。
 ・ FILENAME
  为 <filespec> 定义的文件指定操作系统文件名。
 ・ 'os_file_name'
  操作系统创建 <filespec> 定义的物理文件时使用的路径名和文件名。os_file_name 中的路径必须指定 SQL Server 实例上的目录。os_file_name 不能指定压缩文件系统中的目录。
  如果文件在原始分区上创建,则 os_file_name 必须只指定现有原始分区的驱动器字母。每个原始分区上只能创建一个文件。原始分区上的文件不会自动增长;因此,os_file_name 指定原始分区时,不需要指定 MAXSIZE 和 FILEGROWTH 参数。
 ・ SIZE
  指定<filespec>中定义的文件的大小。如果主文件的<filespec>中没有提供SIZE参数,那么SQL Server将使用model数据库中的主文件大小。如果辅助文件或日志文件的 <filespec>中没有指定SIZE参数,则SQL Server将使文件大小为1MB。
 ・ size
  <filespec> 中定义的文件的初始大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。size 的最小值为 512 KB。如果没有指定 size,则默认值为 1 MB。为主文件指定的大小至少应与 model 数据库的主文件大小相同。
 ・ MAXSIZE
  指定 <filespec> 中定义的文件可以增长到的最大大小。
 ・ max_size
  <filespec> 中定义的文件可以增长到的最大大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。如果没有指定 max_size,那么文件将增长到磁盘变满为止。

  说明:在磁盘即将变满时,Windows NT 系统日志会警告 SQL Server 系统管理员。
 ・ UNLIMITED
  指定 <filespec> 中定义的文件将增长到磁盘变满为止。
 ・ FILEGROWTH
  指定 <filespec> 中定义的文件的增长增量。文件的 FILEGROWTH 设置不能超过 MAXSIZE 设置。
 ・ growth_increment
  每次需要新的空间时为文件添加的空间大小。指定一个整数,不要包含小数位。0 值表示不增长。该值可以 MB、KB、GB、TB 或百分比 (%) 为单位指定。如果未在数量后面指定 MB、KB 或 %,则默认值为 MB。如果指定 %,则增量大小为发生增长时文件大小的指定百分比。如果没有指定 FILEGROWTH,则默认值为1MB;
例题 例1,在查询分析器中创建数据库示例如图4-6,其中相应的c:\mssql\data目录一定要事先存在。创建数据库的T-SQL语句如下: 
 CREATE DATABASE my_libraryON PRIMARY( --数据主文件
 NAME = my_library_data, --逻辑文件名
 FILENAME ='c:\mssql\data\my_library.mdf', --数据主文件存储路径,操作系统文件名
 SIZE = 10 MB, --10 MB的主要数据库文件
 MAXSIZE = 15 MB, --最大容量15MB
 FILEGROWTH = 20 % ) --当主数据文件满了,自动增大20%的容量
 LOG ON( --日志文件
 NAME = my_library_log, --日志文件逻辑文件名
 FILENAME ='c:\mssql\data\my_library.ldf',
       --日志文件存储路径,操作系统文件名
 SIZE = 3 MB , --3MB的日志文件
 MAXSIZE = 5 MB , --最大容量5MB
 FILEGROWTH = 1 MB ) --当日志文件满了,自动增大1MB。

  图4-6 创建数据库