5.3.2 使用T-SQL语句创建数据库

企业管理器(SSMS)是一个非常实用、方便的图形化(GUI)管理工具,实际上前面进行的创建数据库的操作,SSMS执行的就是T-SQL语言脚本,根据设定的各个选项的值在脚本中执行创建操作的过程。接下来的内容,将向读者介绍实现创建数据库对象的T-SQL语句。在SQL Server中创建一个新数据库,以及存储该数据库文件的基本Transact-SQL语法格式如下:

上述语句分析如下:

• database_name:数据库名称,不能与SQL Server中现有的数据库实例名称相冲突,最多可以包含128个字符。

• ON:指定显示定义用来存储数据库中数据的磁盘文件。

• PRIMARY:指定关联的<filespec>列表定义的主文件,在主文件组<filespec>项中指定的第一个文件将生成主文件,一个数据库只能有一个主文件。如果没有指定PRIMARY,那么CREATE DATABASE语句中列出的第一个文件将成为主文件。

• LOG ON:指定用来存储数据库日志的日志文件。LOG ON后跟以逗号分隔的用以定义日志文件的<filespec>项列表。如果没有指定LOG ON,将自动创建一个日志文件,其大小为该数据库的所有数据文件大小总和的25%或512 KB,取两者之中的较大者。

• NAME:指定文件的逻辑名称。指定FILENAME时,需要使用NAME,除非指定FOR ATTACH子句之一。无法将FILESTREAM文件组命名为PRIMARY。

• FILENAME:指定创建文件时由操作系统使用的路径和文件名,执行CREATE DATABASE语句前,指定路径必须存在。

• SIZE:指定数据库文件的初始大小,如果没有为主文件提供size,数据库引擎将使用model数据库中主文件的大小。

• MAXSIZE max_size:指定文件可增大到的最大大小。可以使用KB、MB、GB和TB做后缀,默认值为MB。max_size是整数值。如果不指定max_size,则文件将不断增长,直至磁盘被占满。UNLIMITED表示文件一直增长到磁盘装满。

• FILEGROWTH:指定文件的自动增量。文件的FILEGROWTH设置不能超过MAXSIZE设置。该值可以MB、KB、GB、TB或百分比(%)为单位指定,默认值为MB。如果指定%,则增量大小为发生增长时文件大小的指定百分比。值为0时表明自动增长被设置为关闭,不允许增加空间。

【例5.1】创建一个数据库sample_db,该数据库的主数据文件逻辑名为sample_db,物理文件名称为sample.mdf,初始大小为5MB,最大尺寸为30MB,增长速度为5%;数据库日志文件的逻辑名称为sample_log,保存日志的物理文件名称为sample.ldf,初始大小为1MB,最大尺寸为8MB,增长速度为128KB。具体操作步骤如下。

步骤01 启动SSMS,选择【文件】→【新建】→【使用当前连接的查询】菜单命令,如图5-7所示。

图5-7 【使用当前连接的查询】菜单命令

步骤02 在查询编辑器窗口中打开一个空的.sql文件,将下面的T-SQL语句输入到空白文档中,如图5-8所示。

图5-8 输入相应的语句

步骤03 输入完成之后,单击【执行】命令。命令执行成功之后,刷新SQL Server 2017中的数据库节点,可以在子节点中看到新创建的名称为sample_db的数据库,如图5-9所示。

图5-9 新创建sample数据库

提示

如果刷新SQL Server 2017中的数据库节点后仍然看不到新建的数据库,重新连接对象资源管理器,即可看到新建的数据库。

步骤04 选择新建的数据库后右击,在弹出的快捷菜单中选择【属性】菜单命令,打开【数据库属性】窗口,选择【文件】选项,即可查看数据库的相关信息。可以看到,这里各个参数值与T-SQL代码中指定的值完全相同,说明使用T-SQL代码创建数据库成功,如图5-10所示。

图5-10 【数据库属性】窗口