摘要: 性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句,要设法对之进行简化。常见的简化规则如下:1)不要有超过5个以上的表连接(JOIN)2)考虑使用临时表或表变量存放中间结果。3)少用子查询4)视图嵌套不要过深,一般视图嵌套不要超过2个为宜。连接的表越多,其编译的时间和连接的开销也越大,性能越不好控制。最好是把连接拆开成较小的几个部分逐个顺序执行。优先执行那些能够大量减少结果的连接。拆分的好处不仅仅是减少SQL Server优化的时间,更使得SQL语句能够 阅读全文
posted @ 2012-10-29 17:06 大凡尘 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 你可以更改登陆设置,我感觉只要是不被盗,那就是你登陆设置改错了 , 你在修改一下就可以了,如果不管,那可能就是你那个电脑上的QQ过多网络忙造成的关掉所有的QQ在上你的就可以了..不少公司的防火墙>作了较为严格的限制,以至于很多网络服务如QQ、MSN都无法运行,如果你还能够打开网页,那么,使用Http通道软件可以让你突破限制,可以在现有的网络条件中使用任何网络服务。使用Http通道软件可以突破防火墙的限制,利用唯一Http访问的权限获得其他Internet应用。那么什么是通道呢?这里所谓的通道,是指一种绕过防火墙端口屏蔽的通讯方式。防火墙两端的数据包封装在防火墙所允许通过的数据包类型或是端 阅读全文
posted @ 2012-10-26 13:58 大凡尘 阅读(468) 评论(0) 推荐(1) 编辑
摘要: 涉及到Unicode字符编码的问题。DATALENGTH(expression)返回用于表示任何表达式的字节数。例如:select datalength('我们') 结果:4LEN(string_expression )返回给定字符串表达式的字符数(不包括尾随空格),而不是返回字节数。例如:select len('我们') 结果:2declare @a char(4000)set @a = REPLICATE('a',4000)select LEN(@a) --4000select DATALENGTH(@a) --4000declare @b 阅读全文
posted @ 2012-10-10 16:44 大凡尘 阅读(1045) 评论(0) 推荐(0) 编辑
摘要: 在数据库的应用系统中,死锁是不可避免的。通过设置死锁的处理优先级方法,可以在数据库引擎中自动检测到死锁,对发生的死锁会话进行干预,从而达到解除死锁的目点,但在这种情况下,会话只能被动的等待数据库引擎的自我检查。我们是否可以让会话自身也拥有处理死锁的主动权呢?这就是设置锁的超时时间。当一个会话与另一个会话冲突引阻塞时,如果等待的时间超过指定的值,则该会话自动取消,并释放数据库资源。这样,就达到了解决死锁的目的。那么如何来查看锁的超时时间呢?利用@@lock_timeout函数即可: 可以看一下@@LOCK_TIMEOUT的语法与定义:@@LOCK_TIMEOUT--返回当前会话的当前锁超时设置, 阅读全文
posted @ 2012-08-17 13:41 大凡尘 阅读(5013) 评论(0) 推荐(0) 编辑
摘要: 死锁deadlock 当一个进程锁定了另一个进程需要的页或者表的时候,而第二个进程又锁定了第一个进程需要的一页,这个时候就会发生死锁。死锁也叫抱死。 SQL Server自动探测和解决死锁。如果找到一个死锁,服务器将终止完成了抱死的用户进程。阻塞block 阻塞定义 =============== 当来自应用程序的第一个连接控制锁而第二个连接需要相冲突的锁类型时,将发生阻塞。其结果是强制第二个连接等待,而在第一个连接上阻塞。不管是来自同一应用程序还是另外一台客户机上单独的应用程序,一个连接都可以阻塞另一个连接。 说明 一些需要锁保护的操作可能不明显,例如系统目录表和索引上的锁。 大多数阻塞问题 阅读全文
posted @ 2012-08-17 13:37 大凡尘 阅读(1541) 评论(0) 推荐(0) 编辑
摘要: SQL Server 2000 更换服务器,平级迁移,由于DTS包和作业比较较多,所以直接采用还原msdb数据库的方法。还原后需要修改一些DTS包,修改后提示错误“无法添加、更新或删除从MSX服务器上发起的作业”错误原因:在msdb..sysjobs的列originating_server中保存了原来SQL Server 2000 instance的名字,当服务器名变更后,sysjobs的originating_server并没有相应的更新成新的serverinstance。解决方法:直接更新sysjobs表的originating_server列。update msdb..sysjobsse 阅读全文
posted @ 2012-08-16 14:53 大凡尘 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 个人笔记:测试环境:SQL Server 2000 SP4,2005,2008 R2 SP2完整备份:A,B日志备份:a,b,c,d,e备份顺序:A,a,b,B,c,d,e还原:测试:A,a,b,c,d,e成功测试:B,c,d,e 成功测试:A,a,b,B,c,d,e 成功结论:完整备份不会打乱日志链。 阅读全文
posted @ 2012-08-15 17:03 大凡尘 阅读(109) 评论(0) 推荐(0) 编辑
摘要: (个别现象,仅供参考!谢谢)问题:之前安装了Oracle 9i 并成功启用OracleOracle9iManagementServer,换了网络环境后发现OracleOracle9iManagementServer服务无法启动。可能原因:Oracle使用机器的网络名来作为启动的一个参数,换了环境后导致网络名变化。个人的处理方法:找到计算机名:xxxxx找到所在的域名:ipconfig取得DNS Suffix,如YYYYY.com得到的计算机名是:xxxxx.YYYYY.com编辑Host文件:C:\WINDOWS\system32\drivers\etc\hosts添加127.0.0.1 xx 阅读全文
posted @ 2012-08-07 21:32 大凡尘 阅读(147) 评论(0) 推荐(0) 编辑