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

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

作者: 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)获得了全新的角色和职责。这本白皮书帮助数据库管理员 来决定如何适当的使用这个新特性,以及在其它数据库产品可能提供更好的操作性,灵活性或性能时提供指导。

控制代码提升也是数据库管理员的一个关键角色。允许开发者直接在共享系统上部署,那么它所导致的最终在生产环境中部署产生的不可控源代码和错误几乎是不可避免的。当建立了一个错误版本的源代码或者创建了一个从未测试过的代码时都会马上要求重编译。最终测试环境中不能再有问题出现,因为在资源不能匹配的时候产品程序集是不能做调试的。

下面的例子例举了 Microsoft® C# 程序编译器 csc.exe (.NET Framework 中的C# 编译器).

Csc.exe /noconfig /nowarn:"1701;1702" /warn:4 /define:DEBUG;

TRACE /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\System.Data.dll

/reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\System.dll

/reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\System.Web.Services.dll

/reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\System.XML.dll /debug+

/optimize- /out:obj\Release\MainframeWebService.dll

/target:library IBMSystemCode.cs AssemblyInfo.cs "Web References

\com.Mainframe.webservices\Reference.cs"

这是一个调用web服务的例子,下面的阶段要求连续的代码,这将在下面的例子中提到。这个程序是安装在.NET Framework 2.0 SDK 下,可以在C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin找到。在SQL Server 2005 中使用CREATE ASSEMBLY命令或者用户界面注册一个创建的程序集“MainframeWebService.XmlSerializers.dll”
Sgen.exe /n /f MainframeWebService.dll

使用Transact-SQL 注册程序集。

CREATE ASSEMBLY [MainframeWebService]
AUTHORIZATION dbo
FROM 'C:\MWS\bin\Release\MainframeWebService.dll'
WITH permission_set = external access
go
CREATE ASSEMBLY [MainframeWebService.XmlSerializers]
AUTHORIZATION dbo
FROM 'C:\MWS\bin\Release\MainframeWebService.xmlserializers.dll'
WITH permission_set = safe
go

上面的代码完成了对开发代码的编译,产生了编译代码,然后通过CREATE FUNCTION/PROCEDURE加载了程序集到SQL Server 2005

Productivity Tip
产生的代码会在它的父程序集之后加载。在stealth模式下是相反的,并且父程序集自动加载。要求使用CREATE语句并用ALTER ASSEMBLY … WITH VISIBILITY = ON解锁它。

使用专业工具可以让开发者达到最大的生产力。数据库部署环境也能够被转移到一个好的生产实例上,同时做到控制代码保护。数据库管理员 可以通过配置CLR技术而不会有系统稳定性方面的风险。

性能检测

如果数据库管理员 安装了SQL Server 2005 ,然后开启了Windows System Monitor (PERFMON.EXE),它可能会失望的看到只有一个SQL Server CLR counter (SqlServer:CLR “CLR Execution”)给出了CPU的统计报告。

 

图 6

然而这是一个误导,因为在.NET CLR计算器组中存在着大量的计数器。他们在性能列表里面。他们可以根据SQL Server 服务的名字来做筛选。

Productivity Tip
.一个服务器运行多个SQL Server 实例处理的时候,每个CLR代码在列表中都不显著,这时,应该将某一个实例连接到CLR,然后通过CPU的活动型来判别。

计数器有很多的设置帮助我们了解程序在SQL上运行时的健康性和活动型。

◆.NET CLR Exceptions –Exceptions/Sec 提供了一个对应用程序代码的早期警告,如果这个值比平时高(这个设置也可以用在正常的功能上),应用程序可能会失败。更深入的报告要去看错误日志。
◆.NET CLR Loading – SQL Server 使用AppDomain在数据库之间隔离代码。一个CLR 为程序提供了一个独立运行时。这个设置可以检测AppDomains和系统上加载的程序集的数量。这个值太大意味着“procedure cache”的压力过大。
◆.NET CLR Memory –提供了三种CLR内存的详细信息。这个计数器还可以检测CLR内存的使用情况,可以设置警告值。提示代码的问题,从而使代码使用较低的内存重新设计。


共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病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。