- Session有什么重大BUG,微软提出了什么方法加以解决?
是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate Server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件
- SQL SERVER 中存储过程的理解
存储过程是由一系列的 SQL 语言组成存储在一个名称下并作为一个单元来处理,当这个存储过程被调用时,这些 SQL 语句也会被执行。 存储过程的优点可以简单的总结为 20 字真言 —> ‘嵌套使用’、‘传参使用’、‘快速使用’、‘重复使用’、‘简单使用’: 1) 存储过程可以嵌套使用,支持代码的重用; 2)存储过程可以接受与使用参数执行其中的 SQL 语句; 3)存储过程比一般的 SQL 语句的执行速度快,在创建时就已经被编译好,每次执行时不需要重新编译; 4)存储过程允许模块化程序设计,一旦被创建,即可在程序中被重复调用,允许应用程序统一访问数据库; 5)存储过程可以减少网络通信流量,一个数百行的 SQL 语句只需要通过一条执行过程的语句来执行,不需要繁琐地发送几百行代码;
- SQL SERVER 中触发器的理解
触发器是一种特殊类型的存储过程,当指定表中的数据发生变化时触发器自动生效,它和表紧密相连,可以看作是表的一部分,不能通过名称直接调用,也不允许设置参数。 一张表可以有多个触发器。用户可以使用 INSERT 、 UPDATE 、 DELETE 语句对触发器进行设置,也可以对一张表上的特定操作设置多个触发器。触发器作为一个独立的单元被执行,可以看成是一个 TRANSACTION ,要么 COMMIT ,要么 ROLLBACK 。 触发器有一下优点: 1)触发器自动执行,对表中的数据进行修改后,触发器立即被激活; 2)触发器可以调用一个或者多个 PROCEDURE ,甚至可以调用外部过程完成相应操作; 3)一个表中可以同时存在 3 个不同操作的触发器(INSERT 、 UPDATE 、 DELETE); SQL SERVER 包含 3 种常规类型的触发器:DML 触发器、DDL 触发器和登录触发器; 其中用得最多的时 DML 触发器,包括: 1)ALTER 触发器:在 INSERT 、 UPDATE 、 DELETE 操作后执行的触发器; 2)INSERT OF 触发器:执行 INSERT OF 触发器来代替插入操作,可以为带有一个或多个基表的视图定义 INSERT OF 触发器,而这些触发器能够扩展视图可支持的更新类型;