- 打印本文 关闭窗口
- ASP与SQL网站数据库程序设计(6)
- 作者:. 文章来源:科学出版社 点击数: 更新时间:2004/1/24 23:14:19
- L Server注册”功能时,将不再激活“注册SQL Server”向导,而是直接打开“已注册的SQL Server属性”对话框。
(3)打开“已注册的SQL Server属性”对话框,在“服务器”文本框中输入要注册的SQL Server的名称,然后选择用户验证的方式,在这里选择“使用Windows身份验证”单选按钮,直接以登录操作系统的用户帐户连接SQL服务器。接着在“服务器组”下拉列表中选择该SQL Server要注册到哪一个服务器组中。
(4)单击“确定”按钮,关闭“已注册的SQL Server属性”对话框,切换回Enterprise Manager画面,这时可以在“SQL Server组”中发现YY服务器。
5-2-3 更改注册
一旦将SQL服务器注册在Enterprise Manager中,以后所有利用Enterprise Manager对该SQL服务器的操作,都会根据注册的内容连接指定的SQL服务器。因此,当SQL服务器本身的设置有所变动,如改变用户权限,原先注册的内容可能已不再适用,无法顺利连接SQL服务器。这时,我们就必须修改SQL服务器的注册内容。
要更改已注册SQL服务器的注册内容,可以在选取要更改的SQL服务器后,利用菜单上的“操作\编辑SQL Server注册属性”功能,来打开“已注册的SQL Server属性”对话框。
修改设置的注册内容后,单击“确定”按钮即完成更改注册内容的动作。有关这个“注册的SQL Server属性”对话框的联机设置项目,我们在前一个小节中已经提到过,在此就不再重复叙述。只简单说明一下属性对话框下面的三个复选框。
“显示控制台中显示SQL Server的状态”复选框是用来设置是否要在控制台上显示SQL服务器的状态;“显示系统数据库和系统对象”复选框是设置是否要显示系统数据库及系统对象,当您不需要使用到这些系统对象时,可以取消这个复选框,以简化显示的内容;“在连接时自动启动SQL Server”复选框是设置在执行联机功能时,是否要自动启动SQL Server。
5-2-4 删除注册
当我们对某一个已注册的SQL服务器已经不再具有存取权限,或者不再需要在Enterprise Manager中操作管理它,可以将它从Enterprise Manager中删除。要在Enterprise Manager中删除一个已注册的SQL Server很简单,只要在选取要删除注册的SQL服务器之后,选择“操作”|“删除SQL Server注册”命令,即可完成删除SQL注册的操作。
5-3 内建数据库
在SQL Server系统中,执行时所会用到的相关信息,如系统对象、组态设置等信息,也是以数据库的形式存在,而这些存放系统信息的数据库也称为系统数据。
当我们完成安装SQL Server系统后,会在SQL数据库系统建立master,model,msdb以及tempdb等四个系统数据库,这四个系统数据库的作用说明如下:
· master系统数据库可以说是SQL Server的主要数据库,它记录了所有启动SQL Server系统、执行操作时所需要的信息。包含:激活参数、登录帐户、系统组态设置以及现有数据库的相关信息等。由于matser数据库记录了如此多且重要的信息,一旦该数据库文件遗失或损毁,将对整个SQL Server系统的运行造成重大影响,甚至使得整个数据库系统瘫痪无法启动,因此建议数据库系统管理员最好要保留最近的master数据库备份,以便在发生问题时,将数据库恢复。
· model系统数据库是一个模板数据库,被用来作为在系统上建立数据库的模板,它包含了建立新数据库时所需要的基本对象,如系统表、查看表、登录信息等。当我们在系统上执行建立新数据库功能时,它会复制这个模板数据库的内容至新的数据库上。由于所有新建立的数据库都是继承这个model数据库而来的,因此当我们更改了model数据库上的内容,如增加对象,则稍后建立的数据库也都包含该变动。
· msdb系统数据库是提供给“SQL Server 代理”服务使用,用来记录进行调度、警示、操作员与操作等运作所需的相关信息。如果不需要使用到这些SQL Server 代理项目,就不会使用到这个系统数据库。
· tempdb系统数据库是一个暂存数据库,包含了所有的暂存表与暂存的存储过程,以及任何其他的暂时存储需求,例如SQL Server所产生的工作表。每当SQL Server被激活,tempdb数据库就会被重新建立,以便让系统以一个初始状态开始执行。由于暂存表与存储过程会在联机中断时自动卸除,而且当系统关机时没有任何联机处于使用状态,因此在从一个SQL Server工作阶段转到另一个工作阶段时,不会有任何tempdb数据需要存储。
特别说明 默认在 SQL Server 执行时,tempdb数据库会视需要自动增长。但不同于其他数据库,每当数据库引擎重新激活时,tempdb数据库都会重设回初始大小。因此,如果tempdb的初始大小定义得太小,每次重新激活SQL Server后,系统就必须耗用资源,将tempdb自动增长到能支持工作负载的大小,所以,管理人员应该适当地调整tempdb数据库的初始大小。
除了上述四个系统数据库外,SQL Server还提供了两个内建的范例数据库pubs与northwind,这两个范例数据库主要是让用户可以在开始自行建置数据库前,练习数据库的存取操作。
5-4 数据库结构
谈到数据库的结构,可以从两方面考虑,一个是逻辑结构,也就是一般我们在数据库管理程序中看到的结构;另一个是实体结构,也就是数据库实际存储的方式,通常用户不需要接触到这部分。
5-4-1 数据库的逻辑组件
数据库是由许多的逻辑组件所构成的,在使用数据库时,其实主要是使用一些逻辑组件,如表、视图表、程序与用户。当我们在Enterprise Manager中展开某个数据库时,可以看到如图5-17所示的画面,它会将包含的对象根据对象的类型进行分类显示。
基本上,表是数据库中最基础的组件,用来表示数据库内存储的数据,图表对象是以图形化的方式表示表间的关联,而视图表、存储过程与触发程序等对象,则是用来对表的内容进行处理(更改数据的显示或实际的内容)。另外,用户与角色对象被用来提供用户存取权限的设置,规则对象则被用来确保数据的合理性。
1. 表
表包含了数据库内所有的数据,它是许多的数据行所构成的。在表内,将数据整理成列与行的格式(与电子表格二维矩阵相似)。每一个数据行代表着一笔记录,而一每个数据列则代表记录内的一个字段。例如,在包含公司员工数据的表内,每一个数据行分别代表每一个员工,而每一个数据列则分别代表员工的细节数据,如员工编号、姓名、地址、工作职称和住家的电话号码等。
2. 视图表
视图表是定义表数据的视图方法,提供用来将一个或多个表的内容筛选出来,取出全部或部分的数据列,或者是筛选出部分的数据行。例如,在成绩管理系统中,我们会列出所有总平均不及格的学生,这种通过数据选取或筛选动作而产生的虚拟表就称为视图表。
我们可以将常用的窗体查询定义成视图表存储于数据库内,在程序中需要列出定义为视图表的数据时,只需在程序中调用执行该视图表的名称,就可得到所需的数据内容。
3. 存储过程
存储过程是编译成一个执行计划的一组Transact-SQL语句,有助于在应用程序间达成一致的逻辑操作。对于必须经常执行的工作,可以将它的SQL语句与逻辑设计编写成一个存储过程,这样所有要执行该工作的应用程序,就只要执行该存储过程就可以了。感觉上,就好像在程序设计时,将共同部分设计成一个共享模块,供所有需要的程序调用。
将业务逻辑编写成存储过程,可以提供单一的控制点,日后若要更改逻辑的设计,只需要修改存储过程的内容,而不需分别在每一个应用程序上作修改,确保业务逻辑能一致地、正确地执行。
另外,使用存储过程来执行工作也可以改善工作的执行效率。大部分的工作包含了多个SQL语句,通过条件式逻辑判断的结果决定接下来执行哪些SQL语句。如果将工作的SQL语句与条件式逻辑写成存储过程,它们成为服务器上执行计划的一部分,所有工作都将在服务器上进行,而不需要将结果返回客户端做条件式逻辑判断。
4. 用户
数据库内的所有对象其使用权限与拥有权都是利用用户帐户来控制的。数据库中的用户是利用用户识别码来识别的,这个用户识别码是由数据库固定角色db_owner的成员定义。用户帐户是数据库特有的,同一个识别码在不同的数据库中,表示不同的用户。例如,sales数据库中的xyz用户帐户与inventory数据库中的xyz用户帐户不同。
登录识别码本身不赋予用户存取任何数据库对象的使用权限,它必须与数据库的用户识别码建立关联后,利用该登录识别码登录的用户才可以存取数据库中的对象。如果登录识别码没有明确与数据库中的任何用户识别码建立关联,它将与guest用户识别码建立关联。如果数据库中没有guest用户帐户,除非登录辨识码与有效的用户帐户建立关联,否则它将无法存取数据库。
5. 角色
角色是一些用户集合成一个单元,通过角色的设置可以同时为一群用户指定使用权限,感觉上与NT帐号中的组类似,当我们授与、拒绝或撤销某个角色
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
- 打印本文 关闭窗口