SQL Server 2005 / 2008学习笔记之 SQL Server中调用C#程序

本文是关于SQL Server 2005/2008的学习笔记,重点讨论了如何在SQL Server中集成和调用C#程序。介绍了CLR集成的优势,如编程模式的增强、安全性和自定义性,并详细阐述了集成的启动、手动集成与部署应用实例,以及自动集成与部署的区别。最后,讨论了T-SQL与托管代码的适用场景。
摘要由CSDN通过智能技术生成
 

SQL Server 2005 / 2008学习笔记

——之 SQL Server中调用C#程序

1、SQL Server 2005/2008 中CLR集成背景

T-SQL在执行普通查询通常效率是很高的,当然这个前提是书写的SQL语句比较规范。但是在有些时候,例如执行循环等方面,其效率以及书写的复杂程序就稍显低效和复杂。因此,我们通常都是获取基础的数据集,然后在程序中进行数据再加工。

在SQL Server2005以上(含2005)版本中,在可编程性下面有个程序集,它可以扩展C#程序来完成以前的操作以及功能实现。也就是说,使用编程方法来创建数据库对象。通过在SQL Server中托管CLR(称为CLR集成)可以创建数据库对象包括触发器、存储过程、用户定义函数、用户定义类型和用户定义聚合函数,从而为一些方案提高性能。

2、SQL Server 2005/2008 中CLR集成概述

2.1 集成的优势

         编程模式:无论是语言还是功能实现都胜于T-SQL

         安全性能:托管代码在数据库引擎承载的公共语言运行时环境中运行

         自定义性:能够定义数据类型和聚合函数

2.2 集成的设计

         可靠性:不能让代码执行损害数据库引擎进程完整性的操作,例如弹出请求用户响应的消息框或退出进程。用户代码应不能覆盖数据库引擎内存缓冲区或内部数据结构。

         伸缩性:如果在SQL Server内运行的用户代码可以直接调用操作系统线程化基元,就不能很好地与SQL Server任务计划程序集成,可能降低系统的可伸缩性。

         安全性:在数据库中运行的用户代码在访问诸如表和列的数据库对象时,必须遵守SQL Server身份验证和授权规则。

         性能:在数据库引擎中运行的托管用户代码与在服务器外运行的同一代码相比,应具有同等的计算性能。从托管用户代码进行数据库访问没有本机Transact-SQL快。

2.3 集成的启动

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值