代码改变世界

vb6.0 判断数组为空

2015-10-09 19:59 by 渔者, 3393 阅读, 0 推荐, 收藏, 编辑
摘要:方法一:Error方法就是采用通用的错误捕获功能On Error Goto 行号 '遇到错误,转到行号处处理On Error Resume Next '忽略错误,继续执行On Error Goto 0 '强制取消错误捕获功能Function IsNotEmpty(ByVal sArray As Va... 阅读全文

SQL SERVER中对XML进行操作

2015-01-15 10:18 by 渔者, 476 阅读, 0 推荐, 收藏, 编辑
摘要:一、前言SQL Server 2005 引入了一种称为 XML 的本机数据类型。用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列;此外,还允许带有变量和参数。为了更好地支持 XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象 (BLOB)。用户将... 阅读全文

SQL SERVER 2005/2008 中关于架构的理解(二)

2013-12-24 17:03 by 渔者, 397 阅读, 0 推荐, 收藏, 编辑
摘要:本文上接SQL SERVER 2005/2008 中关于架构的理解(一)架构的作用与示例 用户与架构(schema)分开,让数据库内各对象不再绑在某个用户账号上,可以解决SQLSERVER2000及以前版本中“用户离开公司"问题,也就是在拥有该对象的用户离开公司,或离开该职务时,不必要大费周章地更改该用户所有的对象属于新的用户所有。另外,也可让DBA在安装某个套装软件时,设置该套装软件所用的数据库对象都属于某个特定的架构,容易区别。也就是说,在单一数据库内,不同部门或目的的对象,可以通过架构区分不同的对象命名原则与权限。 在SQLServer2005/2008中,架构独立于创建它们的数据库用户 阅读全文

SQL SERVER 2005/2008 中关于架构的理解(一)

2013-12-24 17:02 by 渔者, 176 阅读, 0 推荐, 收藏, 编辑
摘要:SQLSERVER2005/2008中关于架构的理解(一) 在一次的实际工作中碰到以下情况,在SQLSERVER2008中,新建了一个新用户去访问几张由其他用户创建的表,但是无法进行查询,提示“对象名'CustomEntry'无效。”。当带上了架构名称之后(如“cus.CustomEntry”),却又能查询到表中的数据了,但是查询语句是已经写死在了应用程序中的,如果要进行更改,就有很大的工作量,这是一件很郁闷的事情。于是想从数据库层面上解决此问题,在查询了大量的资料之后,对于SQLSERVER中的架构有所了解,并解决以上问题。 下面来说说,自己对SQLSERVER中架构的理解, 阅读全文

SQL SERVER 查询性能优化——分析事务与锁(五)

2013-12-24 17:01 by 渔者, 205 阅读, 0 推荐, 收藏, 编辑
摘要:SQL SERVER 查询性能优化——分析事务与锁(一)SQL SERVER 查询性能优化——分析事务与锁(二) SQL SERVER 查询性能优化——分析事务与锁(三)上接SQL SERVER 查询性能优化——分析事务与锁(四)(四)未检测到的分布式死锁 某应用程序持有数据库资源,开启事务之后又与用户交互,而在与用户的交互过程中出现了错误,导致数据库资源迟迟不能释放。SQLSERVER2005/2008动态管理视图sys.dm_exec_requests提供相关信息,该SESSION_ID的status字段值为“sleeping”,wait_type为“NULL”值。如果是SQL 2005则 阅读全文

SQL SERVER 查询性能优化——分析事务与锁(四)

2013-12-24 17:00 by 渔者, 283 阅读, 0 推荐, 收藏, 编辑
摘要:上接SQL SERVER 查询性能优化——分析事务与锁(三)二、死锁的原因及相关处理 死锁的原因很多,尤其是前端应用程序没有合理的使用事务,或者对错误处理不当而导致事务长期持有而没有关闭。接下来讲讲最常见的几种死锁情况,并提供可能的解决方法。1.费时的查询事务2.不正确的事务或事务隔离等级设置3.事务未正确处理4.未检测到的分布式死锁5.锁定数据粒度太高或太低6.CompileBlocking(一)费时的查询事务 当查询或事务所花的时间较长时,可由SQLSERVER2005/2008动态管理视图sys.dm_exec_requests提供相关信息(也可观察sysprocesses系统视图),如 阅读全文

SQL SERVER 查询性能优化——分析事务与锁(三)

2013-12-24 16:59 by 渔者, 175 阅读, 0 推荐, 收藏, 编辑
摘要:上接SQL SERVER 查询性能优化——分析事务与锁(二)接下来看看SP_WHO2这个系统存储过程,如果你查询这个系统存储过程的源代码,就可以发现这个系统存储过程是整理master.sys.sysprocesses系统视图中的内容。在此用sp_who2来说明一下。第一步,在查询分析器中执行例二,例三代码。(就是上一篇文章SQL SERVER 查询性能优化——分析事务与锁(二)中的示例)--例二第二步,再打开一个查询分析器界面,在此界面中输入execsp_who2,如下图,在此界面中你可以很容易的观察到锁与被锁的关联,看到进程“56”被“53”锁住。Use testGoBegin tranup 阅读全文

SQL SERVER 查询性能优化——分析事务与锁(二)

2013-12-24 16:58 by 渔者, 237 阅读, 0 推荐, 收藏, 编辑
摘要:上接SQL SERVER 查询性能优化——分析事务与锁(一)第二步,通过SQL语句分析锁定情况由于SQLSERVER2008相比SQLSERVER2005中的“活动监视器”有了比较大的改变,所以下而我们通过SQL语句进行分析,使用SQL语句进行分析需要通过SP_WHO、SP_WHO2、SP_LOCK等系统存储过程、Master.sys.sysprocesses系统视图,或从SQL2005(2008)新提供的动态视图管理(DMV)sys.dm_exec_session、sys.dm_tran_locks等获取相关信息。通过master.sys.sysprocesses视图找出最初锁住资源及导致后 阅读全文

SQL SERVER 查询性能优化——分析事务与锁(一)

2013-12-24 16:57 by 渔者, 204 阅读, 0 推荐, 收藏, 编辑
摘要:一、使用工具观察与分析数据库中锁信息 对于并发系统、对于有大量读写数据库操作的业务系统等,当多人同时访问数据库时,最复杂的情况之一就是大量的事务与资源纠缠在一起,相互被锁而彼此等待,也称为死锁。当数据库中出现很多很多锁时,系统瞬间就无法提供正常服务。此时观察系统资源的使用情况,会发现CPU使用率不高,内存占用量也不高,还有很多未使用的内存,网络带宽也充足,硬盘也不繁忙,通过数据库管理工具查询的话,SQLSERVER中的数据也正常无误,但是使用系统的用户访问此数据库时却要需要等很多久很久,更多的就出现连接超时,数据库无响应。 此现象类似高速公路上有大量的车辆进入,而在收费口却只开了一个、二个。造 阅读全文

SQL SERVER的锁机制(四)——概述(各种事务隔离级别发生的影响)

2013-12-24 16:56 by 渔者, 187 阅读, 0 推荐, 收藏, 编辑
摘要:SQL SERVER的锁机制(一)——概述(锁的种类与范围)SQL SERVER的锁机制(二)——概述(锁的兼容性与可以锁定的资源)本文上接SQL SERVER的锁机制(三)——概述(锁与事务隔离级别)六、各种事务隔离级别发生的影响修改数据的用户会影响同时读取或修改相同数据的其他用户。即这些用户可以并发访问数据。如果数据存储系统没有并发控制,则用户可能会看到以下负面影响:·未提交的依赖关系(脏读)·不一致的分析(不可重复读)·幻读(一)脏读:例:张某正在执行某项业务,如下:begin traninsert tbUnRead select 3,'张三' 阅读全文