__________________________________ 说明 本节的图将会从头显示如何建立一个叫做MyDB的数据库,这个数据库的主要数据文件放在C:\mssql2k\MSSQL\data,记录文件放在D:\mssql2k\MSSQL\data。 ________________________________________ 4. 图9-7是 为数据库档案命名 的画面。您可以设定每一个数据库的文件名称和起始大小。主要数据文件会自动使用数据库名称作为前置字,您可以接受或自行输入名称,扩展名为 .MDF。如果您知道数据库档案的大小,可直接输入起始大小值,否则建议您保留默认值,将来可利用 Enterprise Manger 或 ALTER DATABASE 指令来变更。除了一开始设定的主要档案,其它建立的档案是次要档案,并自动给予档案 .NDF这个扩展名。这些档案将存放在与主要档案位置相同的目录中。按一下 下一步 继续。当使用 建立数据库精灵 时就没有 使用者自订档案群组 这个选项。 在范例中,我们保存原预设的主要档案(MyDB_Data),新增一个次要档案并命名为MyDB_Data2。两个档案会同时放在步骤3所指定的位置。如果所指定的档案夹或档案群组是放在您不想要放置的磁盘上,请停止精灵安装的步骤,我们必须利用其它方法来新增数据库。在下节我们会讨论其它新增数据库的方法。按一下 下一步 继续新增步骤。 图9-7 「为数据库档案命名」画面 5. 出现 定义数据库档案成长量 (图9-8)。通常这里建议您选择 数据库档案自动成长 ,让系统依需要自动增长数据库的尺寸,并指定数据库档案应该以固定递增值成长,或是指定档案依照目前档案大小的百分比成长。您也可以选择 数据库档案不要自动成长 ,以手动调整数据库尺寸,但是这样会增加人工的耗费。您也可以透过选择 不限制档案成长 或 限制档案成长到 来控制数据库档案成长的空间。如果使用精灵新增数据库,就无法个别定义步骤4中的数据库档案,也就是说使用精灵新增数据库,则所有在步骤4新增的数据库都遵照这里所定义的方式成长。按 下一步 继续新增步骤。 图9-8 「定义数据库档案成长量」画面 6. 出现 为交易记录文件命名 对话框。此对话框和步骤4中的 为数据库档案命名 的画面很像,请注意不要混淆这两个对话框。 设定逻辑同步骤4,先输入交易记录档案的名称和起始大小(注意,交易记录文件记录所有数据库的修改记录,当系统故障时可以用来作修复数据的依据)。系统会自动建立第一个交易数据文件并使用数据库名称作为前置字,当然您也可以自订名称。交易数据文件的扩展名是 .ldf,视需要可自行新增交易记录档案。除非您知道交易档案的起始大小,否则建议保留默认值,日后如需更改可利用 Enterprise Manager 或 ALTER DATABASE 指令变更此默认值。按 下一步 继续下一个步骤。 7. 出现 定义交易记录文件成长量 ,这里设定的逻辑同步骤5,您可以指定档案成长的方式。完成设定后按 下一步 继续下一个步骤。 8. 出现 完成建立数据库精灵 (图9-9)。检查是否所有新增信息皆正确,确认后按下 完成 即可完成数据库的新增,如要修改信息则按 上一步 回到先前的画面。 图9-9 「完成建立数据库精灵」画面 9. 出现 数据库已成功建立 ,这表示数据库的建置完成,按下 确定 完成新增步骤。 10. 出现信息方块 您要为数据库建立维护计划 ,建议选择 是 。维护计划可确保数据库的执行效能,定期备份以防发生系统错误,并检查数据的一致性。在这里请先选择 否 ,待 第三十章 我们再讨论维护计划。 使用 Enterprise Manager SQL Server Enterprise Manager 能建立比精灵更复杂的数据库选项。例如,您无需将数据库内所有的档案视为一个档案群组,而可以对每一个建立的档案定义档案成长选项,也可以指定各自的使用者自订档案群组。以下介绍如何利用 Enterprise Manager 建立数据库,在范例中我们将建立一个叫做 MyDB 的数据库,其中包含一个主要档案数据、三个同时存放在一个使用者自订档案群组的次要档案数据。 1. 开启 Enterprise Manager 。展开 SQL Server 群组,然后展开服务器。在 数据库 上按一下鼠标右钮,然后按一下 新增数据库 。 2. 出现 数据库属性 对话框,先出现的是 一般 标签页(图9-10)。在方块中输入新增的数据库名称。 图9-10 「数据库属性」对话框中的「一般」标签页 3. 按一下 数据文件 标签页(图9-11)。Enterprise Manager 会自动建立主要数据文件,使用所建的数据库名称作为前置字,并以 PRIMARY 作为档案群组。您可以自行更改主要文件名称、位置或档案大小,但是不能更改主要数据文件的档案群组。输入文件名称(逻辑名称)、位置(实体名称)、尺寸和每个数据文件的档案群组。除了主要档案之外的数据文件都可以设成使用者自订的档案群组。在范例中我们在 My_FG 这个档案群组内建立一个次要数据文件名称 MyDB_Data2。 图9-11 「数据库属性」对话框中的「数据文件」标签页 档案预设的位置是在 SQL Sever 所在的磁盘数据夹内。可自行输入新的档案位置或用 浏览 按钮指定档案位置。 4. 在 档案属性 选项区域中可以选取让 档案自动成长 及成长方式,选择逻辑同前,也可以指定 档案大小上限 ,您可以选取 不限制档案成长 让档案无限制成长,或是选取 限制档案成长 (MB) 指定受限制的档案所能成长的大小(以 MB 为单位)。您可以现在就选择您的设定,或是保留默认值。若是以后要更改默认值可再回到 Enterprise Manager 的 数据库属性 窗口更改。若是想删除清单中的档案,可按一下欲删除的档案后按下 删除 键。 5. 所有数据文件设定完成后,按一下 交易记录文件 卷标页。交易记录文件的设定逻辑同 数据文件 卷标页,但少了 档案群组 选项,因为交易记录文件不属于档案群组。输入文件名称(逻辑名称)、位置(实体名称),尺寸和及交易记录档案及其它所有档案的 起始大小 ,选取 档案自动成长 。 6. 数据库属性定义后按 确定 完成新增。现在在画面右方就可以看到新增的数据库图标。 使用 T-SQL 命令 您可以使用 T-SQL 命令或指令码(Script)来建立和修改数据库,而不使用图形化使用者接口。要建立数据库,使用指令码是很有用的。譬如当您在图形化使用者接口建立了一个数据库,却把档案位置设错,更改的方式就是把整个档案删除再重设正确位置。但使用 T-SQL 命令就可以很快的把错误修正,而无须重建数据库。您也可以利用同样的一份指令码在其它系统上建立另一份一模一样的数据库。 另一方面,Enterprise Manager 可以用来产生建立数据库及数据库对象的 T-SQL指令码,不过在此动作之前必须已有一个数据库的存在。Enterprise Manager 指令码会涵盖所有已存在的数据库设定,所以您可以依需要使用已产生的指令码。不论您使用自订的指令码,或是使用已产生的指令码,这里都建议您先了解建立数据库的 T-SQL。本节我们会复习建立数据库的 T-SQL 命令。您可以将指令码储存在档案内。本书 第十三章 会学习如何建立及执行指令码。 ________________________________________ 真实世界 简单的数据库 在这个范例中,我们将建立一个命名为 MyDB 的数据库,它包括一个主要数据文件(MyDB_root)、一个保留在预设的主要档案群组中的次要数据文件(MyDB_data1)和一个交易记录文件档案(Log_data1)。以下为建立 MyDB 的 SQL 陈述式: CREATE DATABASE MyDB ON (NAME = MyDB_root, --主要数据文件 FILENAME = ''''c:\mssq12k\MSSQL\data\mydbroot.mdf'''', SIZE = 8MB, MAXSIZE = 9MB, FILEGROWTH = 100MB), (NAME = MyDB_data1, --次要数据文件 FILENAME = ''''c:\mssql2k\MSSQL\data\mydbdata1.ndf'''', SIZE = 100MB, MAXSIZE = 1500MB, FILEGROWTH = 100MB) LOG ON (NAME = Log_data1, --记录档案 FILENAME = ''''d:\log_files\logdata1.ldf'''', SIZE = 1000MB, MAXSIZE = 1500MB, FILEGROWTH = 100MB) ________________________________________ 在这个例子中,您可以看到主要数据文件和次要数据文件都在C磁盘中,而记录档案在E磁盘中。如前所述,您应该分别储存数据文件和记录档案以改进磁盘的I/O效能。 同时建议使用 .MDF、.NDF 和 .LDF为扩展名。以 KB 或 MB 为单位来指定SIZE、MAXSIZE 和 FILEGROWTH 选项,默认值会以 MB 为单位。 XXXXXXX ________________________________________ 真实世界 复杂的数据库 这个数据库范例是以几个磁盘或磁盘阵列(在 RAID 系统中)的系统为基础。在这里,「disk」是代表一个单一的磁盘装置,或者有 RAID 磁盘区的磁盘阵列。我们会将几个档案建立在不同的磁盘上,每一个档案放置在两个档案群组的其中一个。我们将数据库命名为 Sales,并包括下面的档案: • 主要数据文件:Sales_root.mdf • 在customers_group档案群组中的三个次要数据文件:customer_data1、customer_data2和customer_data3 • 在products_group档案群组中的两个次要数据文件:product_data1和product_data2 • 一个记录档案:log_data1.ldf 下面是建立 Sales 数据库的语法。因为我们将自订一个数据群组,所以在CREATE DATABES 命令会看到 FILEGROUP 这个关键词。 CREATE DATABASE Sales ON PRIMARY --明确定义主要档案群组(这个参数可有可无) (NAME = Salesroot, --主要数据文件 FILENAME = ''''c:\mssq12k\MSSQL\data\salesroot.mdf'''', SIZE = 8MB, MAXSIZE = 10MB, FILEGROWTH = 1MB), FILEGROUP customers_group --次要数据文件的档案群组 (NAME = customer_data1, FILENAME = ''''d:\mssq12k\MSSQL\data\costomerdata1.ndf'''', SIZE = 800MB, MAXSIZE = 100MB, FILEGROWTH = 100MB), (NAME = customer_data2, --次要数据文件 FILENAME = ''''e:\mssql2\MSSQL\data\costomerdata2.ndf'''', SIZE = 800MB, MAXSIZE = 1000MB, FILEGROWTH = 100MB), (NAME = customer_data3, --次要数据文件 FILENAME = ''''f:\mssq12\MSSQL\data\costomerdata3.ndf'''', SIZE = 800MB, MAXSIZE = 1000MB, FILEGROWTH = 100MB), FILEGROUP products_group --另一个档案群组 (NAME = product_data1, --次要数据文件 FILENAME = ''''g:\mssq12\MSSQL\data\product_data1.ndf'''', SIZE = 500MB, MAXSIZE = 700MB, FILEGROWTH = 100MB), (NAME = product_data2, --次要数据文件 FILENAME = ''''h:\mssq12\MSSQL\data\product_data2.ndf'''', SIZE = 500MB, MAXSIZE = 700MB, FILEGROWTH = 100MB) LOG ON (NAME = logdata1, --记录文件 FILENAME = ''''i:\log_files\logdata1.ldf'''', SIZE = 800MB, MAXSIZE = 1000MB, FILEGROWTH = 200MB) ________________________________________ 参照范例中的批注,如果存入档案之前没有定义档案属于哪一个档案群组,档案就会被预设放至主要档案群组。如果在存入档案前先定义档案群组,档案就会依定义被放入该档案群组。如范例所示,在定义了 customers_group 和 products_group 这两个档案群组后,紧接着档案群组后的档案就会被放入该档案群组。在一个档案群组定义之后,列出的所有档案将存放在该档案群组中,直到定义了另一个档案群组,或者执行至 LOG ON 叙述为止。 也请注意每一个档案的磁盘代号。当在那些档案群组中建立数据表和索引时,在不同的磁盘上建立每一个档案,以将数据分散到不同的磁盘中。例如,在 customers_group 建立的数据表,会将数据依照比例(以Stripping方式)储存到 customer_data1、customer_data2 和 customer_data3 档案的磁盘中。记录文件也在没有数据文件的单独磁盘中,以让记录文件可以依照顺序写入。 在预设状态下,SQL Server 可让数据文件依需要成长,直到磁盘空间用完为止。因此,若您不希望允许数据库档案的成长超过开始建立的大小时,就必须设定 FILEGROWTH= 0,这样档案就会依您之前设的开始尺寸填满。当您的数据表属于静态数据表时(不会成长的数据表,也就是不会写入资料),您可以选择这个设定。在这种情况下,也不需指定 MAXSIZE 值,因为最大的尺寸就是开始的尺寸设定。 ________________________________________ 说明 如果您使用过 SQL 6.5 或更早的版本,您会发现 SQL 7.0 版本在建立数据库前不再使用 DISK INIT 这个命令建立逻辑装置。现在以使用档案的方式来取代逻辑装置。 ________________________________________ 检视数据库 数据库建立后,您可以使用 Enterprise Manager,或是命令列的 OSQL 以执行 SQL 命令来浏览及检视数据库内的对象。以下会依序介绍这两种方法: 使用 Enterprise Manager 以下是使用 Enterprise Manager 检视数据库信息的步骤: 1. 在 Enterprise Manager 中,展开 S 上一页 [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连接服务器的实现
|