3.2 使用SSMS创建和管理数据库

3.2.1 使用SSMS创建数据库

在SQL Server 2012中,通过SSMS可以创建数据库,用于存储数据及其他数据库对象。

【例3.1】创建MX公司数据库MXDB_New。其中,主数据文件为MXDB_New.mdf,初始大小是5MB,最大文件大小为100MB,增长大小是15MB,存放在D:\data文件夹。日志文件为MXDB_New_log.ldf,初始大小为2MB,最大文件大小为80MB,增长大小为10%,存放在E:\log文件夹。

具体操作步骤如下:

(1)在“对象资源管理器”中,连接到SQL Server数据库引擎的实例,然后展开该实例。右击“数据库”,在弹出的快捷菜单中选择“新建数据库”命令。

(2)在“新建数据库”窗口中,选择“常规”选择页在对应的项目中按照要求进行具体设置,如图3.2所示。

数据库名称:数据库的名称必须遵循SQL Server标识符规则,本例输入“MXDB_New”。

逻辑名称:引用文件时使用,默认时主数据文件与数据库同名,事务日志文件加上“_log”,本例默认即可。

文件类型:行数据为数据文件,日志为事务日志文件。

文件组:为数据文件指定文件组,不指定则默认,本例默认即可。事务日志文件不能修改“文件组”设置。

初始大小:数据库文件对应的初始大小,默认单位为MB。本例设置数据文件MXDB_New为“5”,日志文件MXDB_New_log为“2”。

自动增长/最大大小:设置SQL Server是否能在数据库到达其初始大小极限时自动关闭。本例需要进行修改,单击右侧的按钮,在打开的“更改MXDB_New的自动增长设置”对话框中进行对应的设置。

路径:数据库文件存放的物理位置。默认的存放路径是“C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQL Server\MSSQL\DATA”,本例的存放路径分别是“D:\data”和“E:\log”,需要先创建对应文件夹,然后单击右侧的按钮,在打开的“定位文件夹”对话框中选择对应路径即可。

文件名:存储数据库中数据的物理文件名,默认情况下在逻辑名称后加上对应的扩展名即可,本例已经指定了逻辑名称,这里无须设置默认即可。

图3.2 “新建数据库”窗口

(3)单击“确定”按钮,完成MXDB_New数据库的创建。

3.2.2 使用SSMS修改数据库

【例3.2】修改MX公司的MXDB_New数据库。首先将日志文件MXDB_New_log的最大文件大小修改为无限制,然后为数据库增加次要数据文件MXDB_New1.ndf,初始大小是10MB,最大文件大小为100MB,增长大小是5%,存放在D:\data文件夹。

具体操作步骤如下:

(1)在“对象资源管理器”中,连接到SQL Server数据库引擎的实例,然后展开该实例。

(2)展开“数据库”,右击MXDB_New的数据库,在弹出的快捷菜单中选择“属性”命令,打开“数据库属性”窗口,该窗口中可以查看数据库的所有信息,也可以进行部分设置的修改。

(3)在“数据库属性”窗口左侧选择“文件”选择页,在右侧选中MXDB_New_log文件对应的“自动增长/最大大小”选项,在打开的“更改自动增长设置”对话框中,设置最大文件的设置修改为“无限制”,如图3.3所示。

图3.3 “更改自动增长设置”对话框

(4)单击“文件”选择页右下方的“添加”按钮,在数据库文件中新增加一行,设置逻辑名称为“MXDB_New1”,文件类型为“行数据”,初始大小为“10”,最大文件大小为“100”,自动增长为“5%”,路径为“D:\data”,文件名省略,如图3.4所示。

图3.4 “文件”选择页

(5)单击“确定”按钮,完成MXDB_New数据库的修改。

3.2.3 使用SSMS重命名数据库

【例3.3】将MX公司的MXDB_New数据库重命名为MXDB。

具体操作步骤如下:

(1)在“对象资源管理器”中,连接到SQL Server数据库引擎的实例,然后展开该实例。

(2)展开“数据库”,右击MXDB_New的数据库,在弹出的快捷菜单中选择“重命名”命令,如图3.5所示。

(3)输入新的数据库名称“MXDB”,然后按【Enter】键,完成重命名。

注意:数据库重命名的时候确保没有任何用户正在使用数据库,并且数据库模式为单用户模式。

3.2.4 使用SSMS收缩数据库

由于SQL Server 2012对数据库空间分配方式采用的是“先分配、后使用”的机制,所以,数据库在使用过程中可能会存在多余的空间,在一定程度上造成了存储空间的浪费,而且对数据库的工作效率产生了影响。为此,SQL Server 2012提供了收缩数据库的功能,允许对数据库的每个文件进行收缩,直至收缩到没有剩余空间为止。

图3.5 选择“重命名”命令

SQL Server 2012在执行数据库收缩操作时,数据库引擎会删除数据库的每个文件已经分配的但还没使用的页,收缩后的数据库空间将减少。既可以手动收缩数据库,又可以设置自动收缩数据库使其按照指定时间自动收缩。

【例3.4】为了避免存储空间的浪费,现在对MX公司的MXDB数据库进行收缩操作,先进行手动收缩MXDB为60%,为了避免以后使用过程中的自动增长带来的进一步浪费,再设置MXDB数据库为自动收缩。

具体操作步骤如下:

(1)在“对象资源管理器”中,连接到SQL Server数据库引擎的实例,然后展开该实例。

(2)展开“数据库”,右击MXDB的数据库,在弹出的快捷菜单中选择“任务”→“收缩”→“数据库”命令,在弹出的“收缩数据库”窗口中,勾选“在释放未使用的空间前重新组织文件”复选框,设置“收缩后文件中的最大可用空间”为“60%”,如图3.6所示,单击“确定”按钮,完成手动收缩数据库。

图3.6 “收缩数据库”窗口

(3)右击MXDB的数据库,在弹出的快捷菜单中选择“属性”命令,在“数据库属性”窗口左侧中选择“选项”选择页,在“自动”选项中设置“自动收缩”为“True”,如图3.7所示,完成数据库自动收缩的设置。

图3.7 “选项”选择页

注意:收缩后的数据库不能小于数据库的最小大小。最小大小是在数据库最初创建时指定的初始大小,或是上一次使用文件大小更改操作设置的大小。不能在备份数据库时收缩数据库,也不能在数据库执行收缩操作时备份数据库。

3.2.5 使用SSMS分离和附加数据库

使用分离和附加数据库的方法,可以实现对数据库的复制。对于SQL Server数据库来说,分离和附加数据库,在执行速度和实现数据库的复制功能上更加方便、快捷。除了系统数据库外,其余的数据库都可以从服务器的管理中分离出来,分离的时候不会对其他数据库造成影响,脱离数据库管理的同时也保持了数据文件和日志文件的完整性和一致性。分离后的数据库可以根据需要重新将其附加到任何数据库服务器中。

【例3.5】修改MX公司的MXDB_New数据库。首先将日志文件MXDB_New_log的最大文件大小修改为无限制,然后为数据库增加次要数据文件MXDB_New1.ndf,初始大小是10MB,最大文件大小为100MB,增长大小是5%,存放在D:\data文件夹。

具体操作步骤如下:

(1)在“对象资源管理器”中,连接到SQL Server数据库引擎的实例,然后展开该实例。

(2)展开“数据库”,右击MXDB的数据库,在弹出的快捷菜单中选择“任务”→“分离”命令,在打开的“分离数据库”窗口中勾选“删除连接”和“更新统计信息”,单击“确定”按钮,如图3.8所示,完成分离数据库操作。此时在对象资源管理器中已经看不到MXDB数据库了。

图3.8 “分离数据库”窗口

(3)用U盘或者其他方式将MXDB对应的数据库文件复制到备份数据库服务器上。

(4)在备份数据库服务器的“对象资源管理器”中右击“数据库”,在弹出的快捷菜单中选择“附加”命令,在打开的“附加数据库”窗口中,单击“添加”按钮,定位到备份数据库服务器中MXDB数据的主数据文件“MXDB_New.mdf”,单击“确定”按钮,如图3.9所示,完成附加数据库操作。此时在“对象资源管理器”中就可以看到MXDB数据库了。

图3.9 “附加数据库”窗口

3.2.6 使用SSMS删除数据库

【例3.6】MX公司的数据库服务器升级结束后,备份数据库服务器上的MXDB数据库已经没有用了,为了统一将其进行删除。

具体操作步骤如下:

(1)在“对象资源管理器”中,连接到SQL Server数据库引擎的实例,然后展开该实例。

(2)展开“数据库”,右击MXDB的数据库,在弹出的快捷菜单中选择“删除”命令,在打开的“删除对象”窗口中单击“确定”按钮,如图3.10所示,完成MXDB数据库的删除。

图3.10 “删除对象”窗口