转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
《MS SQL Server 2000管理员手册》系列——9. 建立数据库         

《MS SQL Server 2000管理员手册》系列——9. 建立数据库

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2740 更新时间:2007/11/14 13:11:12

9. 建立数据库
数据库结构
系统数据库
建立数据库
检视数据库
删除数据库
本章总结
当您将 Microsoft SQL Server 2000 的数据库设计与安装完成后,下一步就可学习如何建立数据库。与早期的版本比较,SQL Server 2000 的数据库沿用 SQL Server 7 的数据储存与空间管理方式。早期的版本使用逻辑装置和固定尺寸的数据区段来放置数据;而 SQL Server 2000 可让使用者选择,是否让档案或档案群组依数据多寡而自动成长或缩小。本章将介绍档案、档案群组,以及如何管理数据库的成长。本章还会介绍三种建立数据库的方法,以及如何检视与删除数据库。
数据库结构
 
每一个数据库都由一组系统档案所组成,档案又可被组合成为档案群组。档案群组可方便数据的管理与分类,增进系统执行效能。在这一节我们会介绍档案及档案群组,以及它们在数据库中所扮演的角色。
档案
 
如刚才所提到的,数据库是由一组系统档案所组成。系统档案又可分为数据文件(data file)及记录档案(log file)。数据文件用以储存数据及对象(如数据表、索引、检视表、触发器、预存程序等),依类型又分为主要数据文件及次要数据文件两种。而记录档案则仅用以储存有关交易记录的数据。记录档案的空间和数据文件的空间是分开的,不能把记录档案视为数据文件的一部份。
每个数据库至少要包含一个数据文件及一个记录档案,这些档案不可与其它数据库共享。也就是说这一个数据库的数据及记录档案就只能属于这个数据库。下面我们来看看数据库的三种档案类型。
•   主要数据文件 顾名思义,主要数据文件包含了一个系统的主要数据文件,如系统数据库启动信息以及系统的数据表与对象。主要数据文件也可以储存使用者自订的数据表与对象。每一个数据库只能有一个(且一定要有一个)主要数据文件,建议的档案扩展名是.mdf。
 
•   次要数据文件 次要数据文件可储存不在主要数据文件中的数据及对象。一个数据库并不一定要有次要数据文件(不同于主要数据文件一定要存在),您可以选择把所有的资料都放在主要数据文件内。有些数据库则会利用一个或多个次要数据文件来将数据分散在不同的磁盘。(这种方式不同于我们在下一节将讨论到的 RAID),次要数据文件的建议扩展名是.ndf。
 
•   交易记录档案 这个档案记录所有交易记录信息,这些记录可用来复原数据库的数据。每一个数据库至少要有一个交易记录档案。建议的扩展名为.ldf。
 
________________________________________
说明
以一个 SQL Server资 料库来说,数据文件的最大尺寸是 32TB,记录文件为4TB。
________________________________________
以一个简单型的数据库来说,一个主要数据文件就可存放所有的数据、对象及一个交易记录档案。较复杂的数据库可能包含一个主要数据文件、五个次要数据文件和两个交易记录档案。这样一个数据库要如何整合分散在各个数据文件的数据呢?答案就是:利用档案群组。
档案群组
 
档案群组可将档案分组以便管理与储存(有点类似 SQL Server 早期版本的数据区段)。档案群组将数据库分散建立在多个磁盘、磁盘控制卡或磁盘阵列上(也就是 第五章 讨论过的 RAID)以加强数据库的执行效能。利用档案群组可以将数据表和索引建立在指定的磁盘上,也就是说您可以为某个数据表或索引的 I/O 指定某个实体磁盘、磁盘控制卡或磁盘阵列。本节后段会有几个范例操作。
档案群组可分为三种类型:
•   主要档案群组 包括主要数据文件,及未放入其它档案群组的档案。系统数据表-定义使用者、对象和数据库权限-均放在主要档案群组。当您建立数据库时,SQL Server 会自动建立系统数据表。
 
•   使用者自订档案群组 是指在建立数据库的过程中,使用者自订的档案群组。在指定的使用者自定档案群组中,能建立数据表和索引。
 
•   预设档案群组 如果数据表和索引在建立时都未指定档案群组,则所有数据表与索引的分页都会置入预设档案群组。在每个数据库中,一次只能有一个档案群组当作预设的档案群组。如果没有指定预设的档案群组,则默认值为主要档案群组。属于db_owner角色成员的使用者可把预设状态从一个档案群组切换到另一个档案群组。在同一时间,只能有一个预设档案群组。我们可以用ALTER DATABASE指令来更改档案群组,以下为Transact-SQL的语法:
 
ALTER DATABASE database_name MODIFY FILEGROUP filegroup_name
DEFAULT
(您将会在〈第三篇〉学习如何运用T-SQL)。您可以将预设档案群组设成使用者自订群组,如此您在数据库所建立的对象就可以自动建立在所指定的档案群组中,而不需每次指定对象属于哪个档案群组。
在不同的档案群组建立数据表及索引可控制数据储存的位置,增进数据库效能。举例来说,您可以将常用的数据表放在一个大型的磁盘阵列内(譬如说一个由10部磁盘组成的 RAID),较少用的数据表则放在一个由4部磁盘组成较小型的 RAID。因此,较常存取的数据表就会被分配在多个磁盘上,允许更多磁盘 I/O 平行进行。如果您有多个磁盘但没有使用 RAID,仍然可以善加利用档案群组。举例来说,您可以在各自的磁盘上建立各自的档案,并将档案放入各自的使用使用者自订档案群组。这样当您在建立数据表或索引指定档案群组时,所建的数据表和索引就会被放在指定的档案内(以及档案群组所在的磁盘内)。图9-1即是此架构的范例:主要数据文件放置在C磁盘内的主档案群组中,两个次要档案分别放置在E和F磁盘中使用者自订的FG1和FG2的档案群组内,记录档案则放在G磁盘内。然后就可在使用者自订档案群组-FG1或FG2中建立数据表和索引。

 
 
图9-1 使用档案群组控制数据位置
或者您可以透过使用者自订档案群组将数据分散在数个磁盘上。图9-2显示分别在磁盘E和F中使用者自订档案群组(FG1)中的次要数据文件(记录档案在磁盘G,主要数据文件在磁盘C)。在这个范例中,我们假定每一个数据库档案均建立于单一的实体磁盘中(没有使用 RAID),利用 SQL Server 的比例写入方式,就能将在使用者自订的档案群组中建立的数据表和索引,分布在两个不同的磁盘。

 
 
图9-2 利用档案群组分散数据至多个磁盘
如果您使用的是 RAID 系统,您可能需要把大型的数据表数据,分散放置在两个或数个的 RAID 控制卡所控制的逻辑磁盘阵列上。设定的方法是建立一个使用者自订的档案群组,档案群组中有一个档案存在于每个控制卡内。假定您分别在两个不同的磁盘阵列上,各建立一个次要数据文件,每个逻辑数组由八个实体磁盘组成,设定在 RAID 5 上,两个数组在不同的 RAID 控制卡上。要建立一个跨控制卡的数据表或索引(等于跨16个磁盘),首先需定义一个使用者自订的档案群组来放置这两个档案,然后在此档案群组中建立数据表或索引。图9-3显示使用者自订的档案群组(FG1)分散在十六个实体磁盘(或说两个逻辑RAID磁盘阵列上)。图中也显示主要数据文件在另一个控制卡上(RAID1),记录档案则在另一个 RAID10 的控制卡上。
SQL Server 可自动的将数据文件依比例,分别在每个数据文件以写入的方式将数据配置在数个磁盘内,以提供最佳化的自动档案配置方式。「Striping」是数据库的术语,是指数据分散地储存在一个以上的数据库档案内。SQL Server 档案的 Stripping 方式与 RAID 磁盘等量扇区无关,它可以单独使用,也可以与 RAID 一起混用。

 
 
图9-3 使用者自订档案群组分散放置于数个RAID控制卡
要对数据文件进行 Stripping 时,SQL Server 会比较每一个档案的可用空间,然后再依比例将数据分别写入到每一个档案中(而非将所有数据写入第一个档案,等到写满之后,再写入下个档案)。数据表和索引的空间依 范围 (extend)配置。 范围 是配置空间给数据表与索引的基本单位,一个范围包含8个分页(page),每一分页为8KB,所以一个范围单位即有64KB。举例来说,如果档案F1有400 MB的可用空间;档案F2有100 MB的可用空间,如果要将5个范围依比例性填满策略写入档案,则4个范围分配给F1,1个范围分配给F2。如此一来,这两个档案将在大致相同的时间填满,使跨磁盘分配的I/O效能更好。无论F1和F2档案属于使用者自订档案群组,还是属于主要档案群组,都会依比例将数据分别写入。如果档案群组中的所有档案的开始尺寸都一样,当数据加载时,会平均配置到每一个档案。建议将档案群组内所有档案的开始尺寸设为相同,使数据跨磁盘平均配置,以达到I/O平均分配的目的。
档案群组的另一个好处是可依档案或档案群组为主进行数据库备份。如果您的数据库太大,不能一次备份全部内容,可径自备份数据库中的档案或档案群组,无需一次备份整个数据库。本书 第32章 会详细介绍如何利用档案群组作部分备份。
规则和建议
 
使用档案和档案群组时,记住以下的 SQL Server 2000 规则:
•  档案和档案群组只能用于一个数据库。
 
•  一个档案只能属于一个档案群组。
 
•  数据和交易记录文件数据不能在同一个档案中。记录文件空间和数据文件空间应分别管理。
 
•  交易记录文件档案不是档案群组的一部分。
 
•  数据库一旦建立了档案,此档案就不能移动到另一个档案群组中,除非您删除这个档案,并重新建立档案。
 
为了协助您设计数据库,下面是几个使用档案和档案群组时的建议:
•  大多数的数据库只需要一个数据文件和一个交易记录文件即可顺利运作。对于I/O不是特别密集的数据库,建议使用这种设计。
 
•  如 第5章 所述,记录档案与数据文件必须放置于不同的实体磁盘中。
 
•  如果需要使用多个数据文件,可设定主要数据文件用于储存系统数据表和对象,而使用者的数据和对象则另设一个或多个次要数据文件来储存。
 
•  为了得到最好的效能,尽可能将档案和档案群组跨多个实体磁盘建立,以利用到最多数量的平行磁盘I/O。
 
•  将经常存取的数据表和这些数据表所包含的非丛集索引,以档案群组的方式放在与数据表不同的实体磁盘内。若档案位于不同的磁盘中,则将藉由平行的I/O而改善效能。(索引将在 第17章 中讨论。)
 
•  如果可能的话,把同一个查询中使用的数据表存放在不同的实体磁盘上,这样当您搜索数据时,就能利用到平行磁盘I/O。
 
当一个系统大量的使用 RAID 及很多磁盘,最后两项建议不一定适用。如果您有许多磁盘,您应该尽可能地把索引和数据表分散到不同的磁盘上,以利用到最多数量的平行磁盘I/O。
自动档案成长
 
SQL Server 允许档案依需要自动成长。当建立档案时,您可以指定 SQL Server是否允许自动成长。建议将档案设为允许自动成长(默认值也是设定在允许自动成长),因为它能减少管理员手动监控和增加档案空间的负担。
档案建立时有一个起始的大小。当起始的空间大小填满时,SQL Server 将依指定的成长量增加档案空间,这个成长量称为 成长递增值 (growth increment),当新的空间填满,SQL Server 又会分配新的成长递增值。数据文件会依需要按指定的量成长,直到磁盘已满或达到最大档案尺寸为止(如果有指定的话)。
________________________________________
说明
档案自动成长不同于依比例写入的方式。档案自动成长是指当档案填满时,SQL Server 将自动增加档案空间;而按比例写入是指 SQL Server 根据档案的剩余空间,将数据依比例存放,而不增长档案的空间。
________________________________________
最大档案尺寸档案即为所能成长到的最大尺寸。这个值是档案建立时指定的,可使用 Enterprise Manager 或 ALTER DATABASE 命令更改最大档案尺寸的值。如果没有设定档案的最大尺寸,SQL Server 可让档案依需要成长,直到磁盘空间用完为止。为了避免磁盘驱动器出现磁盘空间不足,导致 SQL Server 错误,您应该为每一个档案设定最大尺寸。如果档案确实成长到最大尺寸,您还可以利用 ALTER DATABASE 陈述式重设最大档案尺寸、或是当磁盘还有空间时,在磁盘上新增另一个档案。如果档案允许无限制扩大(依预设),当磁盘空间用尽,您就必须将档案建立在另一个有剩余空间的磁盘上。
您应该使用档案自动成长和最大档案尺寸作为设计时的规则。当建立数据库时,将档案设定到可能会成长到的最大尺寸。虽然档案的成长可设成依需要自动成长,但仍建议您定期监控档案的成长,这样可帮助您预估档案未来的成长,并决定是否应修改数据库以增加更多档案。
系统数据库
 
当您安装 SQL Server 时,将会建立四个系统数据库:master、tempdb、model和msdb数据库。
•   master 记录系统层级的信息、SQL Server 的安装信息和组态设定,并记录所有的登入账号、其它已经存在的数据库,以及所有使用者数据库主要档案的储存位置。您应当保存最新的master数据库的备份。
 
•   tempdb 用来掌控临时的数据表和临时预存程序。此数据库也用于 SQL Server 的临时储存所需,例如对数据进行排序。每次 SQL Server 启动时,会根据 model 的预设尺寸重新建立一个tempdb数据库的干净副本。然后它会根据需要自动成长。如果您需要较大的 tempdb 数据库空间,您可以使用 ALTER DATABASE 命令来设定一个更大尺寸的默认值。在在线丛书搜寻 tempdb 数据库可获得更多信息。
 
•   model 系统会建立其它数据库的模板,其中也包括 tempdb 数据库。当建立数据库时,第一部分是建立 model 数据库的备份。数据库的其余部分则由空白分页填充。系统中必须有 model 数据库,因为每次当 SQL Server 启动时,便需要使用 model 数据库来重建 tempdb 数据库。您也可以修改 model 数据库,使其包括使用者自订的数据型态、数据表等,以便您建立的每一个新数据库都包括这些属性。在在线丛书搜寻 model 数据库可获得更多信息。
 
•   msdb SQL Server Agent 使用它来排定工作、警示和记录操作者信息。( 操作者 (Operator)是被指定负责工作和警示的人。)
 
每一个系统数据库都有自己的主要数据文件和记录档案。数据库储存在安装SQL Server 时为系统档案指定的目录中。
建立数据库
 
SQL Server 提供三种建立数据库的方法:使用 建立数据库精灵 、SQL Server Enterprise Manager 和 T-SQL 指令。T-SQL 指令能储存在档案中并作为指令码来执行。下面将讨论这三种方法:
使用 建立数据库精灵 要注意它的一些限制。如果您使用精灵来建立数据库,所建立的数据文件都会放在您指定的单一磁盘中,因为精灵建立数据库的过程中不会有让您指定档案在其它位置的步骤(也就是说除了刚开始指定的位置,在精灵的安装过程中,所有建立的数据文件都会指定到相同的磁盘和档案内)。记录文件可以放在和数据文件不同的磁盘或档案内,不过也只能存放在单一磁盘中。使用者自订群组是不能被指定的,而且其中的档案将继承同样的增长选项。碍于这些限制,当数据库中只需要一个主要数据文件和交易记录档案时,才建议使用 建立数据库精灵 。
如果您想把次要数据文件放在与主要档案数据不同的磁盘中,或是您想增加使用者自订的档案群组,或者您需要替每个档案指定增长选项,就必须使用 Enterprise Manager 或 T-SQL 指令码来建立数据库。
使用建立数据库精灵
 
如果您是建立数据库的新手,您可以使用 建立数据库精灵 来建立数据库。以下是使用精灵的步骤:
1. 开启 SQL Server Enterprise Manager,选择一个服务器来建立数据库(先按一下在 Microsoft SQL Servers 这个数据夹名称旁边的加号展开资料夹,再展开 SQL Server 群组数据夹,就可以看到已注册的服务器)。选取一个服务器后,选取菜单上的 工具/精灵 进入 选择精灵 对话框,展开 数据库 ,如图9-4所示。
 
 
图9-4 「选择精灵」画面
2. 按两下 建立数据库精灵 开启 欢迎使用建立数据库精灵 对话框,如图9-5所示。
 
 
图9-5 「欢迎使用建立数据库精灵」对话框
3. 按一下 下一步 到 为数据库命名并指定其位置 (如9-6所示),输入数据库名称、数据库档案及交易记录文件的存放路径。如果您选择 ... 则可以浏览档案。路径指定后按 下一步 继续下一个步骤。
 
 
图9-6 「为数据库命名并指定其位置」画面
______

[1] [2] [3]  下一页


[Access]sql随机抽取记录  [Access]ASP&SQL让select查询结果随机排序的实现方法
[聊天工具]企业邮件系统的利器----FoxMail Server  [系统软件]OPEN SERVER 5.0.5安装EXP300阵列柜
[系统软件]SQL语句性能优化--LECCO SQL Expert  [系统软件]关于Windows2000Server的灾难恢复
[常用软件][网络]下载服务革命性风暴Poco Server评测  [C语言系列]动态创建SQL Server数据库、表、存储过程等架构信…
[C语言系列]SQL Server到DB2连接服务器的实现  [C语言系列]SQL Server到SYBASE连接服务器的实现
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台