频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

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

作者: Kimberly L. Tripp/Founder/SQLskills.com 出处:51CTO.com 2007-02-27 17:56    砖    好    评论   进入论坛
阅读提示:Microsoft® SQL Server™ 2005依靠Microsoft .NET Framework Common Language Runtime(CLR)环境为数据库应用程序程序员提供了一个丰富的,全新的开发平台。新的性能使数据库管理员 (DBA)获得了全新的角色和职责。这本白皮书帮助数据库管理员 来决定如何适当的使用这个新特性,以及在其它数据库产品可能提供更好的操作性,灵活性或性能时提供指导。

在数据库引擎中.NET Framework编程的初步介绍

当SQL Server数据库表和视图不许编写代码时,SQL Server 2000数据库程序员拥有如下选择:

◆在数据库中使用Transact-SQL 编写代码。代码可以被写为存储过程,用户定义功能,也可以将触发器看作调用数据变化的已存储的过程。
◆使用Microsoft® Visual C++® 来编写代码,可以在数据库中运行。被写为一个扩展存储过程的代码在用户表面上看来是一个存储过程,且以同样方法运行。Parameters can be passed to参数可以被传递给扩展存储过程,而且他们可以参与事务的处理以及返回结果和状态。
◆使用sp_OA* (Object Access) 使用COM对象加载和影响系统存储过程。
◆使用其它语言和中间设备,例如ADO 和ADO.NET, 用他们来编写在数据库外执行代码,然后在查询语句中查询或者调用存储过程和功能来访问数据。passes in queries or invokes stored procedures and functions to access data.

当解决方案要求用外部库提供数据在具有功能性的前提下是完整的时,每个选项都有不同作用。例如,有些选项是选择由.NET Framework提供,或者有些是选择将复杂数学运算应用在数据上,再或者是更多复杂性的需求,例如一个客户数据集或一个真实的使用者定义数据类型。

这四个选项每一个都有限制:

◆Transact-SQL对于操作的基本设置是最好的,例如在表之间作比较,但是由于口语的限制,它为繁重任务量的可估测性的传送带来了障碍。另一个限制是不同于现代编程语言,Transact-SQL 不能够支持私有/共有数据封装,因此对他来在模块间清除接口说是比较困难的。 最后, SQL Server 2005在Transact-SQL中引进了改良的错误处理机制。然而,它仍然易受那些由丢失对象或错误语法所引起的不可引导的错误所影响,但这些错误在.NET Framework语言中是很容易解决的。
◆扩展存储过程是很自然地被编写在不可管理的代码中且在SQL Server进程中执行。高级别的编程能力是在不关注内存漏洞的情况下创建SQL Server进程完整的代码。扩展存储过程不可以提供在进程中状态时不支持状态中对Microsoft .NET Framework 库的访问。 想得到更多信息,请登陆题目是Using extended stored procedures or SP_OA stored procedures to load the CLR in SQL Server的基础知识文章。在这里并不提供。
◆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 的能力和第三方库,这个新型能将会允许强大的类型对象被创建而不是形成关联陈述。

高性能执行

SQL Server 2005向 数据库服务器进程中的已管理的代码传递高性能访问,与其它数据库技术不同的是,它提供.NET Framework 综合度,SQL Server 2005管理数据库引擎进程空间中的运行时环境(CLR)。使得SQL Server 查询执行环境具有更高的性能。而整合功能被设计出来是为了在数据库查询和编程时避免内存和CPU冲突。另外, the SQL Server和.NET Framework 软件工程师们致力于使CLRSQL Server 进程中更安全和更好用。

◆CLR 向SQL Server提出内存请求,而不是直接从Windows中申请。
◆CPU加强器CLR内存 通过SQL Server回收资源。
◆一个在进程中的version of the被管理的SQL Server 客户通过SQL 要求直接进入SQL Server 查询进程器, 因此应避免昂贵的网络交互作用。
◆CLR 应用程序域被SQL Server创建及管理。

被设计出来的所有的工程是为了确保失控的CLR程序不可以危及SQL Server的可靠性。

设计,默认及部署方面的安全

Microsoft 致力于为其客户提供安全的产品。例如,SQL Server 2000 SP3中提出的信任计算。这种设计将作为微软产品更进一步增前“off by default”默认安全的理念将进一步影响SQL Server。

注意  数据库引擎.NET Framework 编程 API 是默认关闭的, 且数据库管理员 必须进行一些操作来激活这一功能。

SQL Server 2005 引入了Surface Area Configuration 工具,它被激活后能够由数据库管理员 来控制。这一改变可以确保那些潜在的人们不习惯使用的功能不被激活且被遗留为不被保护状态。

步骤1: 打开Surface Area Configuration 工具

 

图 1

The 此工具的快捷方式被安装在SQL Server 2005程序组的配置工具sub-group 中的Start/All 程序菜单。

选择SQL Server Surface Area 配置选项然后选择 Surface Area Configuration for Features选项。

这样将会打开一个对话框在它下面激活一个SQL 服务器实例选项,然后是均锁定的选项


共10页: 上一页 [1] 2 [3] [4] [5] [6] [7] [8] [9] [10] 下一页
【内容导航】
专题
专题:ASP.NET 2.0基础开发指南
.NET移动与嵌入式技术专题
.NET Framework新手入门专题
VS.NET实用开发专题
ADO.NET实用技巧专题
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看81120次)
·UML类图详解 (查看72587次)
·C++是垃圾语言?! (查看42719次)
·C#技术开发指南 (查看40290次)
·UML统一建模语言 (查看39225次)
·Java编程开发手册 (1198个砖)
·Java基础教程 (431个砖)
·C#技术开发指南 (311个砖)
·.NET开发手册 (254个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (658个好)
·Java基础教程 (578个好)
·.NET开发手册 (282个好)
·PB开发教程 (213个好)
·Delphi开发技术手册 (200个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。