SQL Server 2005 管理员概述

针对下一代互连的、可扩展的和可靠的企业应用程序,Microsoft® SQL Server™ 2005 Beta 2 为 Microsoft® Windows Server System™ 综合服务器软件提供了一个数据库平台。该版本在创新方面所达到的广度和深度完全可以满足客户的需求。本白皮书面向数据库管理员,旨在让读者了解 SQL Server 2005 Beta 2 新的功能特性。从对现有功能的诸多改进到全新的安全模型,数据库管理现在变得更加高效,更能满足管理员的需求。

数据库管理员 (DBA) 的角色正在发生变化。现在,各家组织机构越来越需要数据库管理员来管理包含更庞大数据的更多系统,同时设法保持 IT 成本不变,或者甚至降低成本。与此同时,还要求数据库管理员花更多时间来帮助企业开发人员了解数据模型和最佳的数据访问范例,以便构建可满足公司需求的可靠的应用程序。面对这些压力,数据库管理员需要就企业可管理性、可伸缩性和可用性方面,进一步挖掘他们所掌握的数据库技术的潜力。SQL Server 2005 Beta 2 为数据库管理员提供了构建下一代 IT 基础结构的根基。

SQL Server 2005 Beta 2 的核心是全新的基础结构应用程序功能。SQL Service Broker 是一种分布式应用程序框架,为异步消息传递的可伸缩性和可靠性提供了一种新的形式。虽然不属于新功能,但是 Microsoft® SQL Server™ Notification Services、Reporting Services 和 SQL Server Mobile Edition(原先称为 SQL Server CE)在 SQL Server 2005 Beta 2 中都得到了大幅度的增强。

SQL Service Broker

过去十年,电子商务应用程序的扩增造成了对改进数据库应用程序的流程管理的需求。如果曾经构建过用于实现在线客户定购的订单入口系统,那么您会充分了解后端流程的复杂性。例如,当客户订购了一本书时,那么需要在库存、运送以及信用卡数据库系统中处理有关该订单的一些事务,而且还必须使用另一个 Web 应用程序发送订单确认信息。等待每个流程按顺序执行并不是一件顺利的事情。SQL Server 2005 Beta 2 提供了一种用于构建异步消息路由的可扩展的新体系结构。

Service Broker(服务代理)技术使得内部或外部流程可以通过运用普通 Transact-SQL 数据操作语言 (DML) 的扩展,发送和接收得到保证的异步消息。消息被发送到与发送方所在的同一个数据库的一个队列中,并被发送到同一个 SQL Server 实例的另一个数据库中,或者被发送到同一台服务器或远程服务器上的 SQL Server 实例中。Service Broker 通过目前最优秀的事务支持——SQL Server 关系引擎,实现了最佳的异步消息传递。

Reporting Services

随着 SQL Server 2005 Beta 2 的发布,Microsoft 扩展了其集成商务智能 (BI) 平台的一个主要的新组件。通过在任何商业环境中便捷地将适当的信息传递给适当的人员,SQL Server Reporting Services 拓宽了 Microsoft 商务智能的发展前景。

Reporting Services 是一种用于创建、管理和传递传统及交互式报表的基于服务器的完整平台。它包含了“立即可用”于创建、分发和管理报表所需的一切事物。同时,Reporting Services 的模块化设计和广泛的应用程序编程接口 (APIs) 使软件开发人员、数据提供人员和企业可以将报表系统与旧的系统或第三方应用程序相集成。

SQL Server 2005 Beta 2 所附带的 Reporting Services 包含:

一套用于创建、管理和查看报表的完整的工具。

一个承载和处理报表的引擎。

一个可扩展的体系结构和一些开放接口,用于在不同的 IT 环境中嵌入报表或集成解决方案。

Notification Services

Notification Services 是一种用于开发和部署应用程序(可生成通知并发送给用户)的平台。通知是指可发送给广大设备的个性化的、及时的消息。

通知可反映订户的设置。订户通过订阅来表示自己对某种信息感兴趣。例如,“请在 Adventure Works 的股价达到 70.00 美元时通知我”或“请在我的小组正在编写的战略文档更新时通知我。”

只要触发事件一发生,就会生成通知并发送给用户,或者可以按照用户预定的时间表生成并发送通知。用户通过订阅指定何时生成并发送具体的通知。

通知可以被发送给广泛的设备。例如,通知可以被发送到用户的移动电话、个人数字助理 (PDA)、Microsoft Windows® Messenger 或电子邮件帐户。由于这些设备经常伴随用户左右,因此通知是发送高优先级信息的理想选择。

SQL Server Mobile Edition

Microsoft® SQL Server™ 2000 附带了 Microsoft SQL Server 2000 Windows CE Edition。后者现在被称为 Microsoft SQL Server Mobile Edition,可以通过全新的 SQL Server Management Studio 进行开发和管理。现在,用户可以在台式计算机或其他设备上,直接从 SQL Server Management Studio 创建 SQL Server Mobile Edition 数据库。还可以直接从 Management Studio 控制 SQL Server Mobile Edition 数据库的架构,不管数据库是驻留在移动设备上还是驻留在台式计算机上。可以创建订阅数据库,并通过 Management Studio 将数据从 SQL Server 发布数据库拖入台式计算机或其他设备上的 SQL Server Mobile Edition 数据库中。最后,用户可以通过 Management Studio 运行针对台式计算机或其他设备上的 SQL Server Mobile Edition 数据库的查询,并可以运用包含一个采用 GUI 格式(正如本地 SQL Server 格式)生成的 XML showplan 的 SQL Server Mobile Edition 的新功能以及使用查询提示替代查询优化器的功能。 SQL Server Mobile Edition 与数据转换服务 (DTS) 相集成。现在,通过使用 Microsoft® Visual Studio® 2005 应用程序中的 DTS 对象,用户可以在台式计算机上访问非 SQL Server 数据源并直接将数据放入 SQL Server Mobile Edition 数据库。SQL Server Mobile Edition 还直接利用对新的合并复制的性能改进,极大提高了带有数千个同时连接的 SQL Server Mobile Edition 订阅数据库的单台服务器的可伸缩性。

如您所见,SQL Server 平台的基础结构发生了许多变化。数据库引擎在可伸缩性、可靠性和安全性方面提供了一个成熟、可靠的基础结构。上面所提到的那些架构都参与了故障转移群集、备份和恢复以及事物日志记录,而且用户可以从 SQL Server Management Studio 对它们进行管理。

高可用性和高可伸缩性

SQL Server 2005 Beta 2 在数据库的可用性和可靠性方面取得了巨大进步。停机时间分为两类:计划内和计划外的停机时间。计划外的停机时间确实属于灾难恢复操作,需要特殊的规划和基础结构。故障转移群集可用于在进行计划内的维护时保持系统联机,这种技术在 SQL Server 2005 Beta 2 中得到了增强。另外,SQL Server 2005 Beta 2 还引入了数据库镜像——一种可为实现数据库可用性提供便利的新技术。

故障转移群集

SQL Server 2005 Beta 2 故障转移群集为服务器级故障提供了高可用性支持。借助故障转移群集,操作系统和 SQL Server 通过共同提供冗余硬件和一个自动化机制来在主硬件发生故障时将数据库服务器转移到辅助硬件,从而实现故障保护。故障转移群集最多可支持八个节点,具体数量取决于服务器所运行的是 Microsoft® Windows Server™ 2003 的哪个版本。

SQL Server 已经把故障转移群集功能扩展到了 SQL Server Analysis Services、Notification Services 和 SQL Server 复制。对于 SQL Server 2000,SQL Server 代理以及其他作业管理和处理功能过去都不支持故障转移群集。现在,这些技术都支持群集;SQL Server 故障转移群集现在是一种更完善的服务器级冗余解决方案。

降高可用性扩展至所有数据库应用程序

SQL Server 2005 Beta 2 通过“即写即复制 (copy-on-write)”技术将数据可用性延伸到了新的方向上。SQL Server 2005 Beta 2 针对数据库级可用性引入了一种新的高性能事务传输技术——数据库镜像。通过数据库镜像,当写入日志时,事务变更就会被发送到另一台服务器上。针对数据库实例的所有已记录的变更可迅速被复制到其他地方。

数据库镜像

通过为用户提供数据库镜像选择,SQL Server 2005 Beta 2 大幅增强了日志传送功能。数据库镜像允许事务日志以连续的方式从源服务器传递到单台目标服务器上。当主系统出现故障时,应用程序几乎可以立即重新连接到辅助服务器上的数据库,而不用等到恢复操作结束。辅助实例几秒钟内即可检测到主服务器发生了故障,并能立即接受数据库连接。与故障转移群集不同,由于存在同步状态,镜像服务器会被全面缓存,并准备接受工作负荷。

数据库镜像系统需要三台运行 SQL Server 的服务器,每台服务器各自担当特定的体系结构角色:“主要 (principal)”服务器、“镜像 (mirror)”服务器和“见证 (witness)”服务器。主要服务器是连接应用程序和处理事务的服务器。镜像服务器用于保存事务日志记录(可同步或异步应用)。镜像服务器所处的状态不允许对数据进行直接读取。当事务日志记录在主要服务器上生成时,随即在镜像服务器上进行连续重播,并生成一种状态。这时,一般只有当镜像服务器在单次日志写入时重播写入的日志时,镜像服务器才位于主要服务器后方。这将提供实时的数据副本。

见证服务器是体系结构中的仲裁方,提供决定性“投票”来决定哪台服务器是“主要”服务器,哪台服务器是“镜像”服务器。体系结构中的两台服务器必须依次同意将其中一台服务器指派为主要服务器,即处理所有事务的目标服务器。从客户端应用程序的角度来看,从一台服务器到另一台服务器的故障转移操作几乎是同时自动进行的。只有需要执行自动故障转移的实例才需要作为“证人”的服务器。

除了从主要服务器到镜像服务器的故障转移仅存在极短的延迟外,数据库镜像的最重要的功能之一是双向变更同步。当主要服务器脱机,应用程序被故障转移到镜像服务器上时,镜像服务器随即成为体系结构中的主要服务器。当故障服务器恢复联机时,将被指定为镜像服务器,并将应用主要服务器的事务日志记录,从而与当时的数据库状态进行同步。

数据库镜像可用于标准服务器硬件,不需要特殊的存储器或控制器。

虽然数据库镜像提供了持续的支持,但在许多情况下还需要数据库的“快照 (snapshot)”: 作为“热到冷”待命;作为测试和开发数据库;或者作为报告数据。“即写即复制”技术通过数据库视图的形式提供了这种功能。

数据库快照

SQL Server 2005 Beta 2 所引入的这一功能使管理员可以生成和使用数据库的稳定的只读视图。数据库快照可提供这种功能,而不必创建数据库或存储要求的完整副本。由于主数据库背离了快照,快照将在原始页被更改时自行获取有关副本。快照可能被用于恢复数据库的意外更改,只要通过对主数据库重新应用来自快照的页就能实现。

复制

复制用于通过为多个数据库分发数据提高数据的可用性。通过针对 SQL Server 读取工作负荷和数据库纵向扩展应用程序,或者与偶尔连接的移动用户数据库同步脱机数据,提高了可用性。通过使用一个新的点对点模型,SQL Server 2005 Beta 2 加强了这两个方面的可用性选择。这个新模型提供了一个新拓扑,使数据库可以与任何同级数据库进行相互同步。这样,通过对已分发数据启用更重的“读取”工作负荷,同时为已分发的冗余数据库提供容错功能,从而提高了数据库的可用性。通过 http:// 和 https:// 进行复制的新选择提高了移动方案的数据可用性,即在 Internet 上进行同步。全新的 Oracle Publishing 功能实现了从 Oracle 数据库到 SQL Server 的复制,提高了企业内同类数据的可用性。

最小化维护时间

数据库管理员最头疼的事情之一是:必须重新启动数据库服务器以便应用对 SQL Server 系统参数所做的更改。SQL Server 2005 Beta 2 已经大幅减少了更改后需要重新启动才能生效的参数的数量。现在可以更改数据库服务器与 CPU 和 RAM 内存的关联关系,而不必进行重启。作为开发周期的一部分,原先需要进行重启的每个功能现在都不再需要进行重启了。如果出现了计划内或计划外的停机事件,完全恢复所需的时间将通过 SQL Server 2005 Beta 2 中采用滚动恢复的 "on the fly" 数据库功能得到缩短。另外,SQL Server 提供了联机创建和管理索引的功能,从而不必再为了这些任务而使数据库脱机。

联机索引操作

联机创建、重建或抛弃索引的功能是 SQL Server 2005 Beta 2 的一个增强功能。SQL Server 2005 Beta 2 加强了 SQL Server 早期版本的索引功能。联机索引选项允许在执行索引数据定义语言 (DDL) 时,对基础表或聚集索引数据以及任何关联的索引进行并发修改(更新、删除和插入)。例如,当某个聚集索引正在重建时,可以继续更新基础数据并对这些数据执行查询。在 SQL Server 的早期版本中,诸如重建等索引 DDL 操作都对基础数据和相关联的索引设置了排他锁,防止在结束索引操作之前执行任何修改或查询操作。有了对联机索引操作的支持,用户可以在不干预对表或其他现有索引的访问的情况下,添加索引。此外,服务器工作负荷允许索引操作运用平行处理功能。

联机还原

SQL Server 2005 Beta 2 引入该功能以便在 SQL Server 实例运行时执行还原操作。联机还原功能提高了 SQL Server 的可用性,因为只有被还原的数据不可用。数据库的其他部分仍保持联机且可用。SQL Server 的早期版本要求用户在执行还原操作之前让数据库脱机。

在运用联机还原功能时有两种选择:

对整个数据库文件执行文件级联机还原

对文件组执行联机还原,因为文件组只是多个文件的集合。

快速恢复

SQL Server 2005 Beta 2 通过一个新的更快的恢复选项提高了 SQL Server 数据库的可用性。在事务日志前滚之后,用户可以重新连接到恢复数据库。SQL Server 的早期版本要求用户等到不完整的事务回滚之后才能进行重新连接,即便用户无需访问数据库中受影响的部分。

读/写操作可以与恢复撤销阶段并行执行。然而,在撤销阶段访问锁定数据的操作通常会被数据库所阻止,直至撤销操作解除对相应数据的锁定。

镜像备份

SQL Server 的早期版本仅支持给定备份的一个副本。如果备份媒体被损坏,前滚操作将需要更长的时间,或者会失败。现在,在 SQL Server 2005 Beta 2 中,可以对备份媒体创建镜像。例如,可以安装四个磁带设备来备份两个媒体家族,每个媒体家族各有一个镜像。每个镜像中相对应的卷拥有相同的内容,使其在还原时可以进行互换。最多可以执行四个镜像备份集。

数据库部署,部署和管理:革命性的工具集

虽然 SQL Server 在许多功能上只是进行了改进,但是有一个地方却具有革命性——工具集。SQL Server Management Studio 是第一款允许用户连接并使用 SQL Server、Analysis Services 和一个 SQL Server Mobile Edition 数据库的数据库管理套件。另外,用户还可以管理 DTS、Reporting Services 和 Notification Services 应用程序。无论用户是严肃认真的 Transact-SQL 开发人员,还是初识 SQL Server,SQL Server 工具集都为用户提供了完成数据库任务所需的灵活、智能的体系结构。

SQL Server 2005 Beta 2 工具集主要针对三种主要的使用情况:创作、管理和操作。对于以上每种情况都有独特的工具和功能。首先来看一下用于开发的一些新工具。

SQL Server Management Studio 查询编辑器

SQL Server 2005 Beta 2 将 SQL 查询分析器替换成了查询编辑器。它是 SQL Server Management Studio 的一个组件,是通过交互方式设计和测试 Transact-SQL 语句、查询、批处理和脚本的主要工具。借助查询编辑器,用户可以通过 Transact-SQL 和多维表达式 (MDX) 编写新的脚本。还可以编辑脚本,所编辑的脚本可以由文件创建或者由 SQL Server Management Studio 对话框或 SQL Object Explorer 自动生成。

查询编辑器提供了:

语句自动完成,可能符合系统存储过程的某些关键字的对象列表。

系统存储过程的参数提示提供了符合存储过程和用户定义的功能的参数列表。

Transact-SQL 和 MDX 语法的分色标记提高了复杂语句的可读性。

为创建 SQL Server 对象加快开发 Transact-SQL 语句的模板。

通过 SQLCMD 扩展编辑执行和分析查询。

使用 Transact-SQL 的 XML 列或 XML 功能时,结果显示在网格或自由格式的文本窗口中,或者以 XML 格式显示。

showplan 信息的图形表示,显示内置于 Transact-SQL 语句的执行计划的逻辑步骤。

 
 

部署 SQL Server 2005 Beta 2

部署和配置工具

许多数据库管理需要在数据库应用程序部署的安装和配置阶段,更好地控制 SQL Server。SQL Server 2005 Beta 2 中更改基础参数和文件位置的功能为应用程序安全性和资源管理提供了更高的灵活性。下面几节将简要介绍 SQL Server 2005 Beta 2 在安装和配置方面所做的一些更改。

Microsoft Windows Installer

SQL Server 2005 Beta 2 的安装程序使用 Microsoft Windows Installer 将 SQL Server 功能的安装完全集成到单个功能树中。不再采用最小化安装和典型安装模式。安装程序提供了一个功能树,并选定了默认选项;用户可以通过选定或取消选定功能树上的项目以及指定安装路径,来自定义安装。Windows Installer 的这个版本还支持远程安装及多实例配置。

一致性检查程序

SQL Server 2005 Beta 2 的安装程序提供了安装一致性检查程序 (SCC)——在开始安装前检查并验证目标计算机的一种新功能。一致性检查程序采用了 Microsoft Windows Management Instrumentation (WMI) 技术,可防止因本地、远程或群集目标计算机上存在不受支持的配置而导致安装程序失败。如果安装程序能够修复查到的故障项目,用户可以让安装程序采取必要的措施。否则,在继续执行安装程序之前,一致性检查程序将为每个已发现的问题提供一个解决方案。

故障报告

SQL Server 2005 Beta 2 的安装程序包含经改进的故障报告功能和可扩展的警报。如果在安装过程中出现了错误,安装程序会确定一个故障退出代码,提供一条说明性的错误消息,推荐正确的解决办法,并指示用户查看安装日志。安装程序还会保存每项安装的日志。

计算机管理器

计算机管理器替代了原来的客户端网络实用工具、SQL Server 网络实用工具和 SQL Server 服务管理器。SQL Server 2005 Beta 2 中的计算机管理器提供了与 Analysis Services、Reporting Services、SQL Server 的以前版本以及全文搜索和 Microsoft 搜索一起协同工作的能力。在计算机管理器中,用户可以针对客户端和服务器网络访问定义网络协议。WMI 支持计算机管理器。

管理和性能优化工具

SQL Object Explorer

全新的 SQL Server Management Studio 集成了来自 SQL Server 早期版本的企业管理器和 Analysis Services 的功能。SQL Object Explorer 提供了与企业管理器相同的所有功能。所做的改进包括在浏览数据库对象时具有更高的可伸缩性,并集成了 OLTP 和联机分析处理 (OLAP) 数据库的脚本编写功能。SQL Server 2005 和 SQL Server Mobile Edition 支持 Analysis Services、DTS、Reporting Services 和 Notification Services。SQL Object Explorer 提供了所能从企业管理器得到的所有管理功能,包括安全性、SQL Server 代理、SQL 邮件以及其他 SQL Server 子系统(包含 DTS、Notification Services 和 Reporting Services)。

维护计划

在 SQL Server 的早期版本中,可以使用单个向导来制订数据库维护计划。而所制订的计划会创建多个代理作业。这些代理作业本身包含命令行参数用以指定所要执行的功能。虽然“数据库维护向导”可以应付几种主要的用户方案(比如:完整的数据库备份),但是无法定义其他方案(比如:差异备份),或者轻松获得针对具体维护任务执行了哪个 Transact-SQL 命令的确切信息。

SQL Server 2005 提供了一项全新的设计,使用户几乎可以定义与 SQL Server 相关的任何维护任务。SQL Server 2005 的维护计划功能运用了 DTS 设计器的设计图面,使用户能够定义维护计划中的工作流。

SQL 事件探查器和数据库优化顾问

SQL Server 2005 Beta 2 引入了一种新的索引优化工具,称为数据库优化顾问 (Database Tuning Advisor, DTA)。DTA 能够就更改数据库结构的索引和表分区提出建议。此外,SQL Server 2005 对 SQL 事件探查器进行了广泛的修改,从而提高了性能并提供了对服务器更深层次的可见性。以下是对 SQL 事件探查器做出最大更动的地方:

对 Analysis Services 的事件探查SQL 事件探查器现在支持捕获由 Analysis Services 生成的事件。

将所跟踪的 Showplan 保存为 XML 格式。增加了基于 XML 的新的 Showplan 事件。现在用户可以将 Showplan 保存为 XML 格式。可以载入以这种方式保存的结果,以便在 SQL Server Management Studio 中通过图形显示 Showplan。死锁事件还使用 XML 文本返回死锁信息。同 Showplan 事件一样,死锁事件也可能始终以 XML 格式保存在磁盘中,并在 SQL Server Management Studio 中重新以图形表示。这涉及到一个图形死锁语句。

将跟踪结果保存为 XML 格式。除了标准格式(ANSI、UNICODE 和 OEM)外,还可以将跟踪结果保存为 XML 格式。一旦保存为 XML 格式,就可以对跟踪结果进行编辑并回载到 SQL 事件探查器中进行重播。

聚合视图。可以选择一个聚合选项和一个聚合密钥。这样,用户就可以看到一个视图,其中显示了执行聚合的列,并给出了构成聚合值的行数。

SQL 事件探查器可将性能监视计数器与 SQL Server 或 Analysis Services 事件相关联。可以从一组预定义的性能监视计数器中进行选择,并按特定时间间隔进行保存,同时还可以单独收集 SQL Server 或 Analysis Services 跟踪结果。将通过关联以图形表示的计数器和跟踪结果(以表格形式表示),来关联时间上重叠的跟踪和性能数据。

对 Showplan 的改进

Microsoft SQL Server 2005 Beta 2 对 Showplan 和死锁跟踪功能进行了改进,提供了用于优化数据库服务器的附加功能。所做的改进包括:

Showplan 结果被保存为 XML 格式,从而可以载入到查询编辑器中并通过图形显示。

将 Showplan 结果保存为 XML 格式的功能为实现性能优化提供了许多好处:可以保存 Showplan,将其传送到其他位置,无需底层数据就可以查看。

可用导出的 Showplan 来帮助确定不同的内部或远程数据库间的差异。

SQLCMD

SQLCMD 是一种用于 SQL Server 2005 Beta 2 的新的命令提示符实用工具。它取代了 OSQL 命令提示符实用工具。SQLCMD 实用工具允许用户在命令提示符处输入 Transact-SQL 语句、系统过程和脚本文件。SQLCMD 支持 OSQL 或 ISQL 的功能,但同时引入了一组更丰富的命令,使用户可以更好地操作应用程序脚本(比如:Microsoft® Visual Basic® for Applications (VBA) 脚本)。

专用的管理员连接

SQL Server 2005 Beta 2 引入了一个专用的管理员连接来访问正在运行的服务器,即便该服务器没有响应或不可用。这样,用户就可以执行诊断功能或 Transact-SQL 语句,以便对服务器进行故障诊断。该连接需通过 sysadmin 固定服务器角色的成员来激活,并仅通过 SQLCMD 命令提示符实用工具在本地或从远程计算机才能加以调用。

在 SQL Server 的早期版本中,无法连接到未响应 SQL Server 连接的服务器。如要使用专用的管理员连接,应在命令提示符处执行 SQLCMD 实用工具,使用 -A 开关来指定专用连接。这样,就可以诊断并修复相关问题了。

SQL 管理对象

SQL 管理对象 (SMO) 是一组新的编程对象,可提供 SQL Server 数据库的功能。SMO 被当作一个 Microsoft® .NET Framework 程序集来执行。可用 SMO 来实现重复或常见的 SQL Server 管理任务(比如:通过编程方式检索配置设置,创建新的数据库,应用 Transact-SQL 脚本,创建 SQL Server 代理作业以及制订备份计划)的自动化执行。

SMO 对象模型扩展并取代了 SQL Server 的早期版本所包含的分布式管理对象 (DMO)。SMO 对 DMO 进行了诸多改进,其中包括一个 .NET Framework 对象模型、高级脚本编写操作、SQL Server 配置设置的脱机管理、对象的部分或延迟的实例化、捕获模式执行,委派执行以及可释放的对象状态。虽然 SMO 属于 .NET Framework 类库,但是仍可以通过组件对象模型 (COM)(仅适用于延迟绑定)使用其功能。关于运用 SMO 的一些例子:

某个 Internet 服务提供商 (ISP) 需要在共享的数据库环境中为客户提供 SQL Server 管理委派。该 ISP 想要提供一个 Web 界面,并限制所能执行的任务类型。该 ISP 的开发小组通过使用 SMO 对象模型来构建一个简单的管理界面(由该 ISP 提供给客户),开发出了一个 ASP.NET 应用程序。

一名数据库管理员想要将基本的管理任务(比如:向公司的 SQL Server 数据库添加新用户)委派给帮助台。一名 IT 开发人员创建一个简单的 Web 界面(用 SMO 对象模型构建),并在公司 Intranet 的一个安全区域中部署了该界面。

SQL Server 代理

在 SQL Server 2000 中,SQL Server 代理作业在创建其的帐户下运行。可指定代理帐户运行 CmdExec 和基于 COM 的作业。SQL Server 2005 Beta 2 在 SQL Server 代理安全性方面作了以下改动:

创建了“代理”用户角色。只有被明确添加的用户才能添加、编辑或执行 SQL Server 代理作业。

系统管理员能够创建一个或多个代理帐户,同时包含其他 SQL Server 子系统的代理,包括 DTS。

能够指派用户或组(SQL Server 组)使用代理帐户。

可使用 Transact-SQL 或 SQL 管理对象 (SMO) 对每一项 SQL Server 2005 Beta 2 管理操作制订时间计划,并由 SQL Server 代理从 SQL Server 加以运行。SQL Server 2005 Beta 2 为 SQL Server 代理提供了一些新的对象和计数器。Windows 系统监视器可使用这些新的对象和计数器监视 SQL Server 代理的活动,包括已启用的作业、已启用的警报,已启用的计划,活动作业,活动警报,成功完成的作业的百分比等等。这些计数器还能用于配置由 SQL Server 代理性能计数器条件触发的警报。

对 Transact-SQL 的改进

SQL Server 2005 Beta 2 在 Transact-SQL 上所做的改进反映了其更好地满足了 ANSI-99 SQL 规范的要求以及客户的需求。本节重点介绍对 Transact-SQL 所做的一些改动,这些改动旨在提高查询功能中的表达能力。

全新的通用表表达式 (CTE) 功能能够在使用派生表时,生成查询批。CTE 是一种临时命名的结果集,可通过定义语句加以引用。由于其形式简单,可以把 CTE 看作是派生表的改进版本。可在查询的 FROM 子句中引用 CTE,这与引用派生表和视图的方法相同。CTE 功能提供了一种灵活的表达方法来重新组织标准化数据。

对 Transact-SQL 添加的最大功能之一是递归查询,改进了操作相关数据的功能。递归查询是一种新的查询类型,可生成材料清单或分层结果集。提供了新的 PIVOT 和 UNPIVOT 运算符。这些操作符可操作输入表值表达式,并作为结果集生成输出表。PIVOT 运算符可将行通过旋转转换为列,并可能随之执行归并或其他数学计算。该运算符在给定透视列的基础上扩充了输入表表达式,为列中每个唯一的值生成一个输出表。UNPIVOT 运算符可执行 PIVOT 的反操作,将列转换为行。该运算符在透视列的基础上缩小了输入表表达式。这些新的递归查询提供了一种对数据进行重新定形的方法。

对 Transact-SQL 的一些改进主要针对基于操作符的应用来阐明结果的功能。新的 APPLY 关系运算符允许用户对外部表表达式的每一行调用一个特定的表值函数。用户可在查询的 FROM 子句中指定 APPLY,这与使用 JOIN 关系运算符的方法类似。通过 APPLY 运算符,SQL Server 2005 Beta 2 允许用户在相关子查询中引用表值函数。APPLY 运算符有两种形式:CROSS APPLY 和 OUTER APPLY。CROSS APPLY 可对外部表表达式的每一行调用表值函数。可作为表值函数的参数来调用外部表的列。CROSS APPLY 可从表值函数的个别调用返回的所有结果中返回一个统一的结果集。如果表值函数返回了给定外部行的一个空集,那么该外部行不会返回到结果中。OUTER APPLY 非常像 CROSS APPLY,只是还会返回来自外部表(表值函数对其返回一个空集)的行。有关 SQL Server 2005 Beta 2 中的数据重定形和操作功能的更多信息,请参见 SQL Server 联机丛书。

通过增加错误处理功能,SQL Server 2005 Beta 2 改进了查询的事务功能。SQL Server 2005 Beta 2 以 TRY/CATCH Transact-SQL 构造的形式,引入了一个虽然简单却很强大的例外处理机制。SQL Server 2005 Beta 2 可捕获并处理在 SQL Server 的早期版本中导致某个批处理终止的事务中止错误。例如:

SET XACT_ABORT ON BEGIN TRY BEGIN TRAN INSERT
INTO T1 VALUES(1) /* perform other activity */ PRINT 'After
INSERT.'COMMIT END TRY BEGIN CATCH TRAN_ABORT ROLLBACK /*
perform corrective activity */ PRINT 'INSERT failed.'END CATCH

另外,SQL Server 2005 Beta 2 针对安全性、复制、Notification Services、XML 和 .NET Framework 的所有功能提供了新的语言构造。如要了解更多有关 SQL Server 2005 Beta 2 的所有功能的信息,请参见 SQL Server 联机丛书。

安全方面的增强

SQL Server 2005 Beta 2 大大增强了数据库平台的安全模型,旨在为开发人员和管理员提供更多的管理和安全选项。在涉及广大领域的众多功能上做了大量的工作;比如,对 SQL Server 登录密码强制执行有关策略(身分验证领域),在针对不同范围指定权限时提供更加细化的选择(授权领域),允许所有人和架构分离(安全管理领域)。

此外,请记住诸如“表层减少”和“最低权限原则”等核心安全原则以及“保护默认值和设计”等完善的原则,在产品的最终版本中还准备进行某些产品级的改动。

两个特殊的可伸缩性功能

对于超大型的数据库方案,SQL Server 2005 Beta 2 中有两个可伸缩性功能值得提一下。通过使用数据库的一个暂时一致的视图,快照隔离级别允许用户访问所提交的数据库的最后一行。这一新的隔离级别提供了以下优点:

提高了只读应用程序的数据可用性

允许在 OLTP 环境中执行非阻止读取操作

可对写入事务进行自动的强制冲突检测

简化了从 Oracle 到 SQL Server 的应用程序迁移

例如,锁定会在同时读取和写入相同数据的应用程序间设置障碍。如果某个事务更改了某一行,那么在该写入操作完成之前,其他事务将无法读取该行。通过快照隔离,读取方可以访问该行上次提交的值。

第二个特殊的可伸缩性功能是表分区功能。对于数据库业界来说,对表、数据库和服务器进行数据分区的概念虽不算新鲜,但 SQL Server 2005 Beta 2 提供了一个新的体系结构功能,用于对数据库中的文件组进行表分区。水平分区可根据分区架构,将一个表划分为几个较小的分组。表分区功能是针对超大型数据库(从数百吉字节到数千吉字节或更大)而设计的。超大型数据库 (VLDB) 查询性能通过分区得到了改善。通过对广大分区列值进行分区,可以对数据的子集进行管理,并将其快速、高效地重新分配给其他表。如需了解更多有关分区的信息,请参见 SQL Server 联机丛书。

 

新的数据类型

XML 数据类型。 XML 数据类型允许用户在 SQL Server 数据库中保存 XML 片断或文档。XML 数据类型的实例可以是表中的列、函数、已保存的过程参数、或者函数或已保存过程中的变量。另外,通过指示相关联的 XML 架构(同时为 XML 实例的数据提供验证约束和类型信息),可以实现 XML 数据类型的专用化。

可通过使用内置的 XML 查询方法,在 XML 数据类型的实例上执行操作。这些方法可接受适用于 XML 数据的查询和数据操作语句。然后,可以对保存在 XML 数据类型变量或列中的 XML 指定查询 (XQuery),并对 XML 实例应用更新(使用插入、更新或删除功能)。还可以使用 XSD 为 XML 列创建索引,从而提高查询性能。

Varchar(max).nvarchar(max) 和 varbinary(max) 数据类型最多可保存 2 吉字节 (GB) 的数据,可取代 text、ntext 或 image 数据类型.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值