织梦CMS - 轻松建站从此开始!

技术无忧网 - 技术从此无忧 -- 一站式中文IT技术网站 - www.tech51.net

当前位置: 主页>软件频道>数据库>

SQL Server 2005 新增功能(4)

时间:2008-10-15 20:54来源: 作者: 点击:
扩展性 用户自定义类型和聚合 SQL Server 2005 中的用户自定义类型不是与对象相关的扩展性机制。它们是一种扩展数据库标量类型系统的方式。标量类型系统

扩展性

用户自定义类型和聚合

SQL Server 2005 中的用户自定义类型不是与对象相关的扩展性机制。它们是一种扩展数据库标量类型系统的方式。标量类型系统包括 SQL Server 附带的纵栏式类型(如 int、nvarchar、uniqueidentifier 等类型)。您可使用用户自定义类型定义自己的类型,例如,用于列定义的类型。如果您的类型的确是适合被建模为列的原子类型,那么可创建一个用户自定义类型。

如果需要定义自己的标量类型,那么可使用用户自定义类型。这种类型的示例包括各种日历中的自定义日期/时间数据类型以及货币数据类型。使用用户自定义类型,您可创建单一的对象,它显示该类型所有可用的行为并将类型存储的基础数据封装(或隐藏)起来。任何需要访问这些数据的用户都必须使用此用户自定义类型的编程界面。利用 .NET Framework 中现有功能是考虑将类型实现为用户自定义类型的另一个重要原因。

在许多情况中,可能需要执行数据的聚合。这包括执行统计计算(如 avg、stddev 等)。如果不直接支持所需的聚合函数作为内置聚合函数,那么在 SQL Server 2005 中有三种方法可以执行自定义聚合:

将聚合编写为用户自定义的聚合。

使用 CLR 存储过程编写聚合。

使用服务器端游标。

SQL 管理对象

SQL 管理对象 (SMO) 是 SQL Server 2005 的管理对象模型。SMO 大幅改进了 SQL Server 管理对象模型的设计和体系结构。它是基于 .NET Framework 托管代码的既丰富又易于使用的对象模型。SMO 是使用 .NET Framework 开发数据库管理应用程序的主要工具。在 SQL Server Management Studio 中,每个对话框都使用 SMO,并且在 SQL Server Management Studio 中执行的每个管理操作都可以用 SMO 完成。

新的 SMO 对象模型和 Microsoft Windows Management Instrumentation (WMI) 应用程序编程接口 (API) 取代了 SQL-DMO。只要可能,SMO 就会合并类似于 SQL-DMO 的对象以便于轻松使用。您仍然可以使用 SQL Server 2005 中的 SQL-DMO,但 SQL-DMO 并不包含特定于 SQL Server 2005 的管理特性。

分析管理对象

使用能够提供对象级验证功能的对象库,分析管理对象 (AMO) 使客户端应用程序可以访问各种管理命令和 Analysis Services 可使用的功能,这就避免了必须为 Analysis Services 命令手动生成 DDL 脚本和通常很长的 Analysis Services 脚本语言 (ASSL) 对象定义元素的内容。使用 AMO 的应用程序要么可以连接和直接使用 Analysis Services 实例上的对象,要么可以在没有现有连接时创建这样的对象并保留元数据用于以后进行部署。AMO 还“包装”了 ASSL 命令和元素。

改进的数据访问和 Web Services

在 SQL Server 2005 中,可以开发数据库层中的 XML Web services,把 SQL Server 作为 HTTP 侦听器。这对那些以 Web services 为中心的应用程序提供了新型的数据访问功能。在 SQL Server 2005 中,可使用 HTTP 直接访问 SQL Server,无需使用 Microsoft Internet 信息服务 (IIS) 这样的中间层侦听器。SQL Server 开放了一个 Web service 接口,可以执行 SQL 语句和调用函数和过程。查询结果可用 XML 格式返回,并且可以利用 Visual Studio Web services 基础架构。

ADO.NET 2.0/ADOMD.NET

很多新的功能出现在下一个版本的 ADO.NET 中。从新的查询更改通知支持到多个活动结果集 (MARS),ADO.NET 发展了数据集访问和操作,从而获得了更好的伸缩性和灵活性。

查询通知

SQL Server 2005 引入了对 SQL Server 查询的通知支持。您可以使用这一功能将命令发送到 SQL Server;并且要求当其后运行的同样命令产生不同的结果时,SQL Server 生成一个通知。这一功能是通过依赖对象检测到基础数据的更改来实现的。通过任何客户端 API(如 ADO.NET、OLE DB、开放式数据库连接 (ODBC)、Microsoft ActiveX 数据对象 (ADO) 或简单对象访问协议 (SOAP))发送到服务器的命令可能包含通知请求的标签。对于作为请求的一部分执行的每个语句,服务器都会创建一个通知订阅,它对包含在请求中的每个语句触发一次。通知通过应用程序可以轮询的 SQL Service Broker 队列进行传递,并且使用无论何时获得通知都会返回的激活服务或阻碍语句。查询通知对于在那些数据库驱动的 Web 站点应用程序中启用结果缓存非常有用。图 3 显示查询通知进程。

图 3:查询通知


图 3:查询通知

MARS

多个活动结果集 (MARS) 允许每个连接有超过 1 个的挂起请求,特别是允许每个连接有超过 1 个的打开的默认结果集。默认结果集是一种前向的、只读的结果集。采用默认结果集,客户端驱动程序可以透明地检索大型数据块(表格数据流缓冲区大小的数据块)以满足应用程序的需求,而无需在服务器往返(就像使用服务器游标)。应用程序不需要牺牲性能即可实现一种简单的一次一行的编程方法。MARS 功能消除了当前的这一限制:一个打开的默认结果集将阻止驱动程序向服务器发送新的请求,直到整个结果集用完为止。

透明的数据镜像的故障转移

SQL Server 2005 可通过数据库镜像来支持“热备”功能。如果一个 SQL Server 实例失效,工作可被自动转移到备份服务器上。这要求一个实例来见证此故障转移,它就是所谓的(正如大家所料)见证实例。热备方案要求现有客户端连接必须“知道”故障转移(和新的服务器实例建立连接)。如果客户端连接在尝试下一次访问时发生错误,必须使用客户端编程手动进行“故障转移”,这并非好的方案。ADO.NET 2.0 中的 SqlClient 无需对应用程序进行特殊编程即可支持客户端故障转移。

XML 支持

像本机 XML 数据类型和 XQuery 之类的先进功能使组织能够无缝地连接内部和外部系统。SQL Server 2005 将完全支持关系型和 XML 数据,这样企业可以以最适合其需求的格式来存储、管理和分析数据。对于那些已存在的和新兴的开放标准,如超文本传输协议 (HTTP)、XML、简单对象访问协议 (SOAP)、XQuery 和 XML 方案定义语言 (XSD) 的支持也有助于让整个企业系统相互通信。

XML 数据类型

XML 能够比 SQL Server 所支持的那些标量数据类型更好地对复杂数据进行建模。同样,基于字符串的内置数据类型(如 char 或 varchar)并不能够充分有效地利用 XML 数据的大量优点。例如,如果 XML 被存储为字符串,那么您可以插入或选择整个文档,甚至能够从中检索连续字节,但却不能查询文档本身的内容。通过提供 XML 数据类型,SQL Server 2005 使您可以查询 XML 文档的部分内容,验证文档是否满足 XML 架构,甚至能够定位修改 XML 文档中的内容。它也将传统的关系数据与非结构化或半结构化 XML 文档中的数据集成在一起,而这在 SQL Server 2000 中是不可能的。在 SQL Server 2005 中,XML 数据被作为二进制大型对象 (BLOB) 存储于内部,可有效地进行重新分析和压缩。

一个 XML 架构的集合可以和类型化 XML 的一列关联起来,这样就能够对已存储的 XML 数据中的约束、插入、更新和值的类型进行校验,也能够优化存储和查询处理性能。SQL Server 2005 还提供了多个 DDL 语句用于管理服务器上的架构。

XQuery

XML 查询语言,或者 XQuery,是一种专为查询各种类型的 XML 数据的智能和高效的语言。使用 XQuery,您可以通过后者关联的方法对 XML 数据类型的变量和列运行查询。和许多 XML 标准一样,World Wide Web Consortium (W3C) 组织监督着 XQuery 的开发。XQuery 由 Quilt 这种查询语言发展而来,它基于其他多种查询语言,如 XML Path 语言 (XPath) 1.0 版、XML 查询语言 (XQL) 和 SQL。它也把 XPath 2.0 包含为一个子集。因此,如果您有使用 XPath 1.0 的经历,就可以优化您的技能而不必学习全新的查询语言。然而,它比 XPath 1.0 有些显著的增强,例如,类型化、特别的函数、支持更好的迭代、结果的排序、结构等。

SQL Server 2005 提供了更多的 XQuery 功能,它允许在数据层操作 XML 对象。它支持 XQuery 1.0 Working Draft of November 15, 2003 的一个静态类型子集。

Web Services 支持

在 SQL Server 2005 中,可以开发数据库层中的 XML Web services,把 SQL Server 作为 HTTP 侦听器。这对那些以 Web services 为中心的应用程序提供了新型的数据访问功能。在 SQL Server 2005 中,可使用 HTTP 直接访问 SQL Server,无需使用 Microsoft Internet 信息服务 (IIS) 这样的中间层侦听器。SQL Server 开放了一个 Web service 接口,可以执行 SQL 语句和调用函数和过程。查询结果可用 XML 格式返回,并且可以利用 Visual Studio Web services 基础架构。

XML for Analysis Services

XML for Analysis Services (XMLA) 是一个本机的、基于标准的协议,用于同 Analysis Services 服务器通信。通过它,可以非常容易的开发出新型的应用程序—将分析和实时操作集成起来的应用程序。采用 XMLA 作为本机协议,Analysis Services 客户端无需进行任何配置,而每一个服务器可自动成为一个 Web Services。一个轻量级 Win32 层可用于向后兼容在 OLE DB for OLAP、ADOMD 和 ADOMD.NET 使用 Analysis Services 2000 的工具。大多数用户将可以继续使用 ADOMD.NET 对象模型创建 Analysis Services 上的自定义应用程序。

(责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片