ASP与SQL网站数据库程序设计 Chap07

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

7数据库的备份与管理7-1生成数据库的SQL脚本7-2收缩数据库7-3数据库备份与还原7-4使用权限的管理ASP与SQL网站数据库程序设计174在前面的章节中,介绍了数据库与表的创建方式,以及一些常用的管理操作。然而,随着数据库的使用,数据库文件会不断地增加,或系统可能发生问题,因此在本章中我们将介绍一些数据库的维护操作,以便让数据库系统能够正常运行。7-1生成数据库的SQL脚本这个功能可以将创建的数据库结构转换产生SQL语句,当需要创建同样结构的数据库时,可以执行这个SQL语句自动创建数据库,而不需要自己重新一个一个地创建,这样可以节省许多操作时间。这个生成SQL脚本可以涵盖许多的数据库对象,包含表、视图、存储过程、对象权限、用户、组、角色等,因此通常会利用它来创建数据库结构,备份用来重建数据库,或是将它作为安装数据库的工具。7-1-1生成SQL脚本窗口生成SQL脚本的设置窗口如图7-1所示,分为“常规”、“设置格式”与“选项”等三个选项卡。1.“常规”选项卡“常规”选项卡是用来指示要将数据库中的哪些数据库对象脚本化,也就是要产生哪些对象的SQL语句。可以在这个选项卡中单击“全部显示”按钮,将数据库中所有的对象显示在“Trade上的对象”清单中,如图7-1所示,它显示“Trade”数据库内包含三个表与一个视图对象。图7-1“常规”选项卡第7章数据库的备份与管理175接着可以利用上面的复选框,选择要加入所有属于特定对象类型的数据库对象。例如,选中“全部表”复选框,会将“币别信息”、“产品基本信息”与“产品类别”三个表加入到“将要写入脚本的对象”列表框中。如果我们只要将特定几个数据对象编写成脚本,例如只要产生“产品基本数据”表的SQL脚本,我们也可以利用“新建”按钮,将在“对象于Trade”列表框中选定的数据库对象加入到“将要写入脚本的对象”列表框中。选项卡中的“预览”按钮可以让我们在创建产生的SQL脚本文件之前,先查看使用目前的设置将会产生的SQL脚本内容。如图7-2所示为在“要编写脚本的对象”列表框中指定“产品基本信息”表,单击“预览”按钮,打开“生成SQL脚本预览”对话框。图7-2“生成SQL脚本预览”对对话框2.“设置格式”选项卡这个选项卡是用来指示脚本的设置格式选项,如图7-3所示。要为每一个选择的数据库对象加入(产生)哪些信息项目,可用的设置格式选项说明如表7-1所示。“脚本模板”区内会显示使用选取的设置格式选项,每一个数据库对象将会产生哪些SQL指令。ASP与SQL网站数据库程序设计176图7-3“设置格式”选项卡表7-1可用的设置格式选项说明设置格式选项说明为每个对象产生CREATE对象命令产生用来创建选取的数据库对象的Transact-SQL语句为每个对象产生DROP对象命令在创建数据库对象的Transact-SQL语句之前,加上删除该数据库对象的SQL指令,也就是要在创建数据库对象之前,先删除现有的数据库对象为所有相关的对象产生脚本将所有与选取数据库对象相关的对象,也一并包含到产生的Transact-SQL语句中,这样可以避免用户再指定要创建SQL脚本的数据库对象时,忽略选取相关的对象在脚本文件中包含描述的表头在每个Transact-SQL语句之前,加上批注文字包含延伸预存属性将延伸存储过程包括在创建的SQL脚本中只有与Script7.0兼容的功能产生与Microsoft®SQLServer™7.0版兼容的脚本。如果选取这个选项,会忽略以下SQLServer2000选项:数据行层级排序规则、用户自定义函数、扩充属性、数据表和视图的INSTEADOF触发程序、视图的索引(索引视图)、导出数据行的索引、视图的参考权限及降序索引第7章数据库的备份与管理1773.“选项”选项卡使用这个选项卡可以对产生的Transact-SQL语句做进一步的微调,例如,指定存放SQL脚本的文件格式、是否要产生表索引的脚本、是否要产生权限的脚本等。其选项卡画面如图7-4所示,我们可以将它的选项设置区分为:安全性脚本选项、表脚本选项以及文件选项三个类。图7-4“选项”选项卡“安全性脚本选项”是用来指定在产生的SQL脚本中,要包含创建哪些与用户、权限、角色等有关安全性的数据库对象,可选取的选项说明如表7-2所示。表7-2选项说明表选项说明编写数据库脚本产生可用来创建现有数据库结构描述脚本的SQL语句编写数据库用户及数据库角色的脚本产生可用来创建目前可存取数据库的所有用户与角色的SQL语句指令化SQLServer登录脚本产生用来创建目前可存取服务器的所有登录的SQL语句编写对象级别权限的脚本产生为每个选取对象创建所有的授权、取消与拒绝权限的SQL语句ASP与SQL网站数据库程序设计178“表脚本选项”是用来指定在产生的SQL脚本中,要包含哪些表设置,可用的选项说明如表7-3所示。表7-3表脚本选项中各选项说明选项说明编写索引脚本产生Transact-SQL语句,来创建目前存在于任何选定数据表中的索引。必须在“常规”选项卡中选取一或多个数据表,这个选项才会起作用编写全文索引脚本产生Transact-SQL语句,来创建全文索引。必须在“常规”选项卡中选取一或多个数据表,这个选项才会有作用编写触发器脚本产生Transact-SQL语句,来创建目前存在于任何选定表中的触发器。必须在“常规”选项中选取一或多个数据表,这个选项才会有作用编写主键、外键、默认值和检查约束脚本产生Transact-SQL语句,来创建目前存在于任何选定数据表中的主键、外键、默认值与检查约束。必须在“常规”选项卡中选取一或多个数据表,这个选项才会有作用“文件选项”是用来指定产生的SQL脚本输出的方式,在“文件格式”选项上有“MS-DOS文本(OEM)”、“Windows文本(ANSI)”与“国际化文本(Unicode)”三种格式可以选择,这三种格式的差异说明如表7-4所示。表7-4文件选项中的各选项说明选项说明MS-DOS文本(OEM)将Transact-SQL脚本保存为目前MicrosoftWindows系统字码页(CodePage)格式。若要将脚本用于批处理操作,并从使用Isql.exe这类的命令提示中执行它,则选取此选项Windows文本(ANSI)以ANSI格式保存Transact-SQL脚本。如果脚本将用于SQLQueryAnalyzer或别的Windows应用程序,应选取这个选项国际化文本(Unicode)以Unicode格式保存Transact-SQL脚本。如果脚本用到只有Unicode字形才支持的特殊国际字符,应选取这个选项。这个格式所需的磁盘空间是目前Windows字码页或ANSI所需空间的两倍第7章数据库的备份与管理179在“生成的文件”选项上有“创建一个文件”与“每个对象创建一个文件”两种产生文件的方式,选择“创建一个文件”选项会将每个选取对象的SQL脚本都存放到同一个文件中;选择“每个对象创建一个文件”选项,则会分别为每个选取的对象创建各自的SQL脚本文件。当我们很确定这些所有选取的对象都要一起创建时,可以选择“创建一个文件”选项。7-1-2执行生成SQL脚本对生成SQL脚本的选项有了初步的了解后,接下来就以“Trade”数据库为例,说明如何利用“生成SQL脚本”功能,将“Trade”数据库内的所有表结构脚本化。(1)在EnterpriseManager控制台中选取“Trade”数据库,然后在菜单上选择“工具”|“生成SQL脚本”命令,打开“生成SQL脚本”对话框。(2)在“常规”选项卡中单击“全部显示”按钮,并选中“全部表”复选框,将“Trade”数据库内所有的三个表都加到“将要写入脚本的对象”列表框中。图7-5选择要编写“全部表”对象的脚本(3)切换到“设置格式”选项卡,选中“为每个对象产生CREATE对象命令”、“为每个对象生成DROP对象命令”以及“在脚本文件中包含说明性的标题”三个复选框。ASP与SQL网站数据库程序设计180图7-6指定要产生的脚本(4)切换到“选项”选项卡,选中“编写数据库用户和数据库角色的脚本”、“编写索引脚本”以及“编写主键、外键、默认值和检查约束脚本”三个复选框,然后在文件选项上选择以“国际化文本”格式将产生的SQL脚本写到一个文件中。图7-7指定安全、表与文件选项(5)设置完成后单击“确定”按钮,这时它会要求指定一个文件名称来第7章数据库的备份与管理181存放产生出来的SQL语句,指定完成后,开始编写SQL脚本,完成操作。7-1-3执行SQL脚本文件创建好SQL脚本文件之后,就可以利用它来进行重建数据库结构。但我们要如何执行这个创建的SQL脚本文件呢?在SQLServer中,可以利用QueryAnalysis管理工具来执行,执行的步骤如下:(1)激活QueryAnalysis程序,并登录联机到要使用SQL脚本文件创建数据库的SQL服务器。图7-8联机登录SQL服务器(2)在QueryAnalysis窗口中,选择“文件”|“打开”命令,或单击按钮,选择打开我们刚创建的SQL脚本文件,这时会将SQL脚本文件的内容加载到查询窗口中。图7-9加载脚本ASP与SQL网站数据库程序设计182(3)在数据库下拉列表中,选择要将数据库结构重建在哪一个数据库上,然后单击按钮,或按F5键,开始执行SQL脚本,进行重建数据库结构的操作。图7-10执行SQL脚本完成上述操作后,可以在“New_Trade”数据库中发现,“币别信息”、“产品基本信息”与“产品类别”三个表,这三个表的结构与索引设置等都与“Trade”数据库的相同。7-2收缩数据库前面曾经介绍过,可以将数据库文件或事务日志文件设置成可以自动增长,一旦指定的空间不足时,就会自动扩增文件的大小。随着数据库的使用,一段时间后数据文件可能已经扩增到非常大。然而我们可能会发现,实际上的数据内容可能并没有那么多,而是占用了许多未使用的磁盘空间,造成磁盘空间的浪费。在SQLServer中提供了一个收缩数据库功能,可以用来控制数据文件的可用空间比率。我们可以在要收缩的数据库上右击鼠标,在打开的快捷菜单中选择“所有任务”|“收缩数据库”命令,这时会打开如图7-11所示的对话框。在“收缩后文件中的最大可用空间”中可以设置执行完文件收缩后要留下多少比率的可用空间。另外,也可以在这个窗口中选择“根据本调度来收缩数据库”复选框,要求数据库系统自动进行数据库收缩。第7章数据库的备份与管理183图7-11“收缩数据库”对话框在“调度”选项区内单击“更改”按钮,可以另行指定自动进行数据库收缩的时间,图7-12所示为单击“更改”按钮后打开的编辑调度窗口,它提供了四种调度类型可供选择:“SQLServer代理启动时自动启动”:表示每当SQLServerAgent服务被启动时,就会自动执行这个收缩数据库操作。“每当CPU闲置时启动”:每当CPU处于闲置状态时,自动执行这个收缩数据库操作。“一次”:在指定的日期和时间执行这个收缩数据库的动作。选择这个调度类型时,必须在后面的“日期”字段与“时间”字段上指定要执行操作的日期时间。“反复出现”:表示要每隔一段周期时间,例如,每个星期一早上十点,自动执行一次数据库收缩操作。如果要针对个别的数据文件进行收缩,可以在“收缩数据库”窗口的收缩文件区上单击“文件”按钮,这时它会打开如图7-13所示的ShrinkFile对话框。在这个对话框中,可以在“数据库文件”下拉列表中指定要进行收缩的数据文件;在“收缩操作”选项组中指定进行文件的收缩方式;在“延迟收缩”选项组中设置要立即进行收缩动作,或是指定时间稍后再收缩。ASP与SQL网站数据库程序设计184图7-12编辑调度图7-13设置数据文件压缩表7-5压缩动作及其说明压缩动作说明收缩页面然后从文件中截断可用空间收缩数据库分页,然后删除由收缩页面所产生的可用空间第7章数据库的备份与管理185续表压缩动作说明从文件结尾来截断可用空间从文件结尾删去可用空间清空文件(将数据合并到文件组的其他文件)清空选取

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功