三、数据库的创建与管理
数据库:是长期存储在计算机存储设备上,相互关联的、可以被用户共享的数据集合。具体来说,数据库由包含数据的表集合和其它对象(视图、索引、存储过程和触发器)组成,为执行与数据相关的活动提供支持。SQL Server 支持在一台服务器上创建多个数据库。每个数据库可以存储与某个应用相关的数据,如一个数据库存储银行贷款数据,用于支持银行贷款管理系统;另一个数据库存储员工人事数据,用于支持人事管理系统。
主要内容:数据库类型、数据库文件、数据库的创建维护删除分离和附加
(一) 数据库类型
从数据库应用和管理角度看,SQL Server 数据库可以分为两大类:系统数据库和用户数据库。
每台物理计算机上可以安装多个虚拟的SQL Server 服务器,每个虚拟的SQL Server 服务器称为一个 SQL Server实例。每个SQL Server实例包括5个系统数据库和若干个用户数据库。
1. SQL Server 2008 系统数据库
系统数据库是SQL Server 数据库管理系统自动维护的,用来存放维护系统正常运行的信息,如服务器上共建有多少个数据库,每个数据库的属性及其所包含的对象,每个数据库用户以及用户的权限等。
默认情况下,SQL Server 2008 服务器将建立5个系统数据库,即 master、 msdb 、model 、tempdb和 mssqlsystemresource
(1) master 数据库
(2) msdb 数据库
(3) model 数据库
(4) tempdb 数据库
(5) resource 数据库
2. 用户数据库
用户数据库存放的是与用户的业务相关点数据,其中的数据是靠用户来维护的。AdventureWorks 示例数据库、银行贷款数据库等就是用户数据库。我们通常所说到建立数据库都是指建立用户数据库,对数据库的维护也指对用户数据库的维护,一般用户对系统数据库没有操作权限。
(二)数据库文件组成
SQL Server将数据库映射为一组操作系统文件。在SQL Server 中,数据和日志信息不是像Microsoft Office Access 那样混合地存储到同一文件(.mdb)中,而是将数据存入数据文件,将日志存入日志文件,且一个文件只能用于一个数据库使用。SQL Server 的数据库由两类文件组成:数据文件和日志文件
1. SQL Server 数据文件
数据文件用来存放数据库数据。数据文件分为主要数据文件和次要数据文件
(1)主要数据文件:每个数据库都包含一个主要数据文件。主要数据文件包含数据库的启动信息,也可以用于存储数据。默认扩展名是.mdf 。
(2)次要数据文件:每个数据库包含零个或多个次要数据文件。次要数据文件含有不能放入主要数据文件中的数据。如果主要数据文件足够大,能容纳数据库中的所有数据,则可以不需要建立次要数据文件。有些数据库可能非常大,因此需要多个次要数据文件。这些次要数据文件可以存放在不容点磁盘驱动器上,以便利用多个磁盘的存储空间,并降低数据存取的并发性。次要数据文件可以同主要数据文件存在相同的位置也可存放在不同的位置。默认扩展名为 .ndf。
2. SQL Server 日志文件:每个数据库都必须至少有一个日志文件,也可以有多个日志文件。日志文件记录页的分配和释放以及对数据库数据的修改操作,它包含用于恢复数据库的日志信息。日志文件的扩展名为 .ldf 。
数据库和日志文件的默认位置为 C:\ Program Files \Microsoft SQL Server\MSQL10.<实例名> \MSSQL\ 。
3. 数据文件的逻辑名称和物理名称
每个书库文件都有两个名称:逻辑名称和物理名称。逻辑名称是在所有T-SQL语句中引用物
理文件时所使用的名称。逻辑名称在数据库中是唯一的。物理名称是包括目录路径的物理文件名。一般情况下,为了获得更好的性能,建议将文件分散存放在多个磁盘上。
4. SQL Server 文件组
SQL Server 文件组类似于文件夹,用于管理数据库中的数据文件。日志文件没有文件组的概念,也就是说日志文件不存在于某个文件组中。 SQL Server文件组的类型:主要文件组和用户定义文件组
默认的主要文件组:PRIMARY,创建数据库时由数据库引擎自动创建。主要数据文件和没有明确指明文件组的次要数据文件都被指派到PRIMARY 文件组中。
用户定义文件组:由用户创建。不是必须的,根据需要来建立。
例如:可以分别在三个磁盘上驱动器上建立三个文件Data1.ndf、Data2.ndf、Data3.ndf ,然后将它们分配给文件组fgroup1. 然后可以明确地载文件组fgroup1 上创建一个表。对表中的数据的查询将分散到三个磁盘上,从而提高了性能。此方法通常在大型书库应用系统中使用。
(三)数据库的创建与删除
1.创建数据库
在 SQL Server 2008中,创建数据库主要有三种方式:使用SQL Server Management Studio ;T-SQL语句; 模板;只介绍第一种方式。
使用SQL Server Management Studio 创建数据库步骤及相关参数说明。LoanDB数据库(银行贷款数据库)是贯穿本次培训的主要案例数据库,该数据库存放的是银行贷款信息。以创建LoanDB数据库为例,步骤如下:
(1)打开Microsoft SQL Server Management Studio,在对象资源管理器中连接到SQL Server 2008数据库引擎实例,再展开该实例节点。
(2)如图所示,点击【数据库】节点,在弹出的快捷菜单中选择【新建数据库】命令,即打开如图所示的【新建数据库】对话框。
(3)在【新建数据库】对话框中设置数据库属性。
【数据库名称】项:输入数据库名称,如 案例数据库“LoanDB”,此项不可以省略。
【所有者】项:通过从列表中进行选择来指定数据库的所有者。这里取默认值。
(4)在【新建数据库】对话框中创建数据库文件并设置其属性。我们创建4个文件,包括一个主要数据文件、一个次要数据文件、两个日志文件。【数据库文件】窗格的第一行为主要数据文件,后面再创建的数据文件就是次要数据文件。
【逻辑名称】项:输入“LData1 ” ----逻辑文件名
【文件类型】项:文件类型可以是“行数据”、“日志”或“Filestream 数据”。此项无法修改。如果没有启用FILESTREAM,则不会出现FILESTREAM选项。可以通过服务器属性(“高级”页)对话框启用FILESTREAM。 由于LData1是数据文件,所以选择“行数据”类型。
【文件组】项:使用默认文件组PRIMARY,主要数据文件在默认文件组中。后面再创建的次要数据库文件可以放在用户定义的文件组中,本例不再创建用户定义文件组,所有数据文件都存放在默认文件组中。 注意日志文件不存放在文件组中。
【初始大小(MB)】:文件的初始大小(MB)。默认情况下,这是model数据库的值。该字段对于FILESTREAM文件无效。这里设置初始大小为5 MB。
【自动增长】项:指定文件按的增长方式,在【自动增长】对应列中单击按钮,就打开【更改自动增长设置】对话框。在此对话框中包含:是否启用自动增长方式、增长方式、最大文件大小限制等设置信息。设置完毕后,单击【确定】按钮,保存设置并退出【更改自动增长设置】对话框。
【路径】项:制定文件位置的物理路径。注意:必须指定已经存在的路径。例如,D:\LoanDBFile。
(5)依次创建2个日志文件和一个次要数据文件。这里把4个数据库文件的物理路径均设置为 :D:\LoanDBFile。
(6)若要更改数据库选项,选择【选项】页,然后修改数据库选项。涉及到的选项如排序规则、恢复模式、兼容级别、ANSI NULL 默认值、已启用加密、自动关闭、自动收缩等等。(具体略)
(7)设置完毕后,单击【新建数据库】对话框的【确定】按钮,创建数据库LoanDB。在【对象资源管理器】中的【数据库】节点可以看到该数据库。查看文件夹 D:\LoanDBFile,可以看到创建的4个物理文件:Ldata1.mdf、Ldata2.ndl、LLog1.ldfsql包含哪几个部分和LLog2.Ldf。分别是LoanDB数据库的主要数据文件、次要数据文件、日志文件1和日志文件2的物理文件名。
2. 删除数据库
当不再需要数据库时,为了节省空间,可以删除该数据库。数据库删除之后,文件及其数据都从服务器的磁盘中删除。一旦删除数据库,它将被永久删除,并且不能进行进行检索,除非使用以前的备份。建议在删除数据库之后备份master数据库,因为删除数据库将更新master中的系统表。
删除数据库前注意的问题如下:
(1)如果数据库涉及日志传送操作,请在删除数据库之前取消日志传送操作。
(2)不能删除系统数据库
使用SQL Server Management Studio删除数据库的方法如下:
(1)在对象资源管理器中,连接到SQL Server 数据库引擎实例,然后展开该实例。
(2)展开【数据库】结点,右击要删除的数据库,在弹出的快捷菜单中选择【删除】命令,打开【删除对象】对话框。
(3)如图所示,【删除对象】对话框中的选项的含义如下:
【删除数据库备份和还原历史记录信息】复选框:从msdb数据库中删除主题数据库的备份和还原历史纪录。如果选择此复选框,则当数据库被删除后将不能被恢复;如果取消此复选框,则当数据库被删除后还可以通过以前的备份信息被恢复。
【关闭现有连接】复选框:终止于所有要删除数据库的连接。
(4)确认选择了正确的数据库后,再单击【删除对象】对话框中的确定按钮,完成删除
(四)扩大与收缩数据库
维护数据库空间包括扩大数据库空间和缩小数据库空间。
1.扩大数据库
数据库在使用一段时间后可能会出现数据库空间不够的情况,这些空间包括数据库空间和日志空间。如果数据空间不够,则意味着不能再向数据库中插入数据;如果日志空间不够,则意味着不能再对数据库中的数据进行任何修改操作,因为对数据的修改操作是要记入日志的。此时应该对数据库空间进行扩大。扩大数据库空间有两种方法 。
⏹ 扩大数据库中已有文件的大小
⏹ 为数据库添加新的文件
以 扩大LoanDB数据库空间为例,具体步骤如下:
(1)在对象资源管理器中,连接到SQL Server 数据库引擎实例,然后展开该实例
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论