SQL Server数据库引擎.NET CLR环境数据库管理员向导(1)

http://tech.ddvip.com   2007年05月15日    社区交流

本文详细介绍SQL Server数据库引擎.NET CLR环境数据库管理员向导(1)

  ◆sp_OA* 系统存储过程空间在COM上是有限制性的。它要求它的接口是在兼容的方法上执行,在单独调用的COM对象上有更加严格的数据限制。它们鼓励使用不相称组件,而且它们没有被设计为可以使用高吞吐量,或者不支持在单一进程中使用多重调用。在最坏的情况下,组件可以试着显示一个错误消息界面或者在SQL Server上显示其它对话框。

  ◆外部代码可以导致操作问题,因为数据必须留给SQL Server 进程空间而且需流动至应用程序呼叫。这个数据组可能占用大量数据集。

  ◆目前的选项没有可以用来创建first-class,客户聚合功能 functions or custom data types where first-class means running within the database as if it were a SQL Server primitive function or data type.首要级别的函数或者用户数据类型意味着在数据库上像原始的函数和数据类型一样的运行。

  由于以上的局限,SQL Server 2005整合了.NET Framework 通用语言运行时(为管理代码提供执行环境)因此,数据库开发者能够可以将以管理好的应用程序代码安放在SQL Server中,这样做是安全,保险,可升级和多特色的。代码可以按以下方式写:

  ◆用户定义功能(标量 或者表值)

  ◆存储过程

  ◆触发器

  ◆用户定义聚合

  ◆用户定义类型

  对于对象的用户定义功能的映射, 存储过程,以及触发器都在管理代码里编写,这样做是非常直观的。CLR程序像应用Transact-SQL一样的被访问和执行的。然而, 用户定义聚合和类型是非直观的, 数据库程序员可以用新的方法选择扩展选项:

  ◆用户定义聚合允许程序员建立习惯性聚合函数(用GROUP BY子句来关联). 这可以在数据库引擎中进行复杂统计和数据分析。

  ◆用户定义类型为程序员提供用习惯性行为定义新类型的权限。综合.NET Framework 的能力和第三方库,这个新型能将会允许强大的类型对象被创建而不是形成关联陈述。

责编:豆豆技术应用

正在加载评论...