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