摘要:
最近一直在升级公司的手机站点,出了个触屏版专用的,做好后,就尝试通过 Agent 来判断相应的智能手机设备,然后跳转到新的手机站点经过不懈的努力,终于搜集了比较全的智能设备 的 Agent,然后又写了程序,直接上代码吧,希望能帮助到你 ///<summary> /// 根据 Agent 判断是否是智能手机 ///</summary> ///<returns></returns> public static bool CheckAgent() { bool flag = false; string agent = HttpConte... 阅读全文
摘要:
学习资料,用做备忘1. 共享锁共享锁允许并发事务在封闭式并发控制下读取(Select) 资源。资源上存在共享锁(S锁)时,任何其他事物都不能修改数据。2. 更新锁在可重复读或可序列化事物中,一个修改需要先读取数据(获取资源页或行的共享锁),然后修改数据(此操作要求锁转换为排它锁)。如果两个事务获得了同一个资源上的共享模式锁,然后试图同时更新数据,则事务会把共享锁转换为排它锁(X锁)。由于两个事务都无法完成转换,因此发生死锁。为了避免这种潜在的死锁问题,SQL Server 使用更新锁(U)。一次只有一个事务可以获得资源的更新锁。事务真正修改数据时,将更新锁(U)转换为排它锁.3. 排它锁排它锁 阅读全文
摘要:
直接让代码了,对比看看就了解了当然,这种情况比较适合提取字段较多的情况,要酌情而定性能较差的:WITH #temp AS ( Select column1,column2,column3,column4,column5,column6,column7,column8,column9,column10, row_number() over (Order by column100 desc) as RowNumber ... 阅读全文
摘要:
Sql Server 孤立用户 是我们经常遇到的事情,今天详细的梳理了下,希望能帮到你 当把用户数据库从一台 Sql Server 使用备份和恢复的方式迁移到另一台服务器。数据库恢复以后,原先用户定义的一些其他数据库用户,就无法在新服务器上继续使用了。尤其对一些Sql Ser 帐号,这些就是孤立用户 阅读全文
摘要:
Sql Server 索引使用情况及优化的相关 Sql 语句,非常好的SQL语句,记录于此:--Begin Index(索引) 分析优化的相关 Sql -- 返回当前数据库所有碎片率大于25%的索引-- 运行本语句会扫描很多数据页面-- 避免在系统负载比较高时运行-- 避免在系统负载比较高时运行declare @dbid intselect @dbid = db_id()SELECT o.name as tablename,s.* FROM sys.dm_db_index_physical_stats (@dbid, NULL, NULL, NULL, NULL) s,sys.objects 阅读全文
摘要:
根据自身 Sql Server 的情况来自定义 事务隔离级别,将会更加的满足需求,或提升性能。例如,对于逻辑简单的 Sql Server,完全可以使用 read uncommitted 模式,来减少死锁,减少堵塞, 提升性能和响应。对于此种应用场景应该是蛮多的,但是却没有一个全局设置,你妹呀!这个功能真的很强大,但是不知道微软为什么把它的最大作用域定义为 当前链接,蛋疼,真的很蛋疼,没法全局设置,下面也尽可能详细的解释如何少设置,多舒服的使用吧查看 当前 Sql Server 事务隔离级别 的设置:DBCC Useroptions -> isolation level 这一项的 Valu 阅读全文
摘要:
Sql Server CPU 性能排查及优化的相关 Sql 语句,非常好的SQL语句,记录于此:--Begin Cpu 分析优化的相关 Sql --使用DMV来分析SQL Server启动以来累计使用CPU资源最多的语句。例如下面的语句就可以列出前50名。select c.last_execution_time,c.execution_count,c.total_logical_reads,c.total_logical_writes,c.total_elapsed_time,c.last_elapsed_time, q.[text]from (select top 50 qs.* from 阅读全文
摘要:
SqlServer Cpu 100% 的情况并不太常见,一般引起 Sql Server 产生性能问题的,都是 阻塞、连接数、IO 磁盘等。所以,一般Sql Server 的使用率都是比较低的。但是,在有些情况下,还是会出现Cpu 100%的情况的。 Sql Server 在做哪些操作的时候,会比较集 阅读全文
摘要:
Sql Server 全文索引的性能一直都不是太好,今天听同事分享,发现了一个技巧,回去试了下,发现确实能明显的提升全文索引的性能,一般都能提升 2倍+原 SQL 语句:select * from Table1 where Contants(*,'test') 优化后的 SQL 语句:select * from Table1 where Contains((Content,Title),'test')两条 SQL 的不同之处,就是在 Contanis 后面的列名是否指定了,经过测试,明确指定 全文索引的列,确实能较大的提升 Sql Server 全文索引的性能 阅读全文
摘要:
其实这个也是新瓶装旧酒的问题,前段时间,把这个做了,况且效果和性能都还不错,所以记录下,希望能帮助更多的人虽然 outputcache 很重要,但是这个功能真的不好用,很多时间不能满足需求,比如做一些自定义方面的缓存依赖,如:session、登录用户信息、用户cookie信息 等,更重要的是,想做片段缓存的话,就只能用 用户控件了,并且这是时,用户控件之间的传值就比较难了,所以,让人很不爽!真怀疑,asp.net 的开发工程师是不是就不用 asp.net,开发出来的产品,离实用还是有段距离的吧!!!!好了,还得自己动手,解决了 一些自定义方面的需求,支持 session、登录用户、cookie 阅读全文
摘要:
1.sp_configure定义:显示或更改当前服务器的全局配置设置。主要的结果集:config_value,配置选项的配置值;run_value配置选项的运行值;如果两者不一致,一般是配置成功了,但是却没有生效备注:很有用。使用sp_configure可以显示或更改服务器级别的设置。若要更改数据库级别设置,请使用ALTERDATABASE。若要更改仅影响当前用户会话的设置,请使用SET语句。相关文章:SqlServer内存用不上的解决办法2.sp_help定义:报告有关数据库对象(sys.sysobjects兼容视图中列出的所有对象)、用户定义数据类型或某种数据类型的信息备注:返回的信息比较 阅读全文
摘要:
在 .net 中过滤页面即将输出的所有html,从而改变一定html代码,还是很有需求的,具体的实现方法就是重写 页面的 Render 方法具体的代码如下:protectedoverridevoid Render(HtmlTextWriter writer) { System.IO.StringWriter sw =new System.IO.StringWriter(); HtmlTextWriter htmlWriter =new HtmlTextWriter(sw); base.Render(htmlWriter); stri... 阅读全文
摘要:
对于IIS管理员来说,经常会碰到Web服务器CPU占用100%的情况,以下是个人的日常工作总结和一些解决办法,主要用来剖析w3wp.exe(IIS)占用CPU100%的一些原因和解决方案,希望能对你有所帮助w3wp.exe的解释:全名,IISApplicationPoolProcess。w3wp.exe是IIS工具的一部。w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。这个进程用来分配大量的系统资源。 引起w3wp.exe(IIS)Cpu占用100%的常见原因如下:1.Web访问量大,从而服务器 阅读全文
摘要:
Asp.Net中的OutputCache非常的有用,但是加上后,老是碰见浏览器下载页面的情况,让人十分费解。最后,在search了半天后,发现的解决方案都是加上VaryByHeader="Content-Type"这个。但是加上之后,发现不起作用,还仍然会下载。最后,再请教dudu之后,给出了一个很完美的解决方案,该解决方案就是重写Global.asax中的Application_BeginRequest方法,判断页面类型,如果为"text/vnd.wap.wml",则不缓存页面,经过高访问量的测试,这个方法是可靠可行的,没有性能问题的,可以放心大胆的使 阅读全文
摘要:
1. sp_databases定 义:返回在 Sql Server 实例中的数据库或可以 通过数据库网关访问的数据库结果集:DataBase_Name、DataBase_Size、ReMarks(对于数据库引擎,此字段始终返回 NULL)备注:需要 create database 或 alter any database 或 view any definition 权限,并且必须有该数据库的访问权。 通俗易懂,且适合大多数情况下,需要执行当前存储过程的用户为管理员权限2. sp_tables定义:返回可在当前环境中查询的对象列表。也就是说,返回任何能够在 FROM 子句中出现的对象(不包括同义 阅读全文
摘要:
1. sysjobactivity 表记录当前 SQL Server 代理作业活动和状态。job_id :作业 IDrun_requested_date :请求运行作业的日期和时间run_requested_source : 请求运行作业的请求者。 1 = SOURCE_SCHEDULER,4 = SOURCE_USERstart_execution_date :计划运行作业的日期和时间job_history_id : 用于标识 sysjobhistory 表中的行。next_scheduled_run_date :计划下一次运行作业的日期和时间。2. sysjobhistory 表包含有关 阅读全文
摘要:
个人日常优化SQL语句的总结笔记目前 DB 承受 日平均 500W PV 左右的站点,数据文件大小在20G左右,表数据量 在 50 - 500 W 左右仅供参考:1 . 查询的数据行分布情况,决定索引是否用得上,如果查询的数据行在数据表中分布均匀,且所占比重较大,能用上索引;反之,用不上索引2 . select 的字段数目,特别是 长度较大的字段,对 语句的执行时间影响较大3 . 语句中有 distinct 时,再在 where 语句中限制日期范围的话,反而会影响性能,无 distinct 时,执行情况是一样的4 . distinct 一般占到总语句开销的 65 %左右5 . newid 则视 阅读全文
摘要:
对于SqlServer备份文件的管理,是十分有讲究的,特别是对于磁盘空间不大或者DB服务器过多的管理员来说,真的比较难。同时也比较重要,因为如果不定时清理,磁盘肯定会满,也会导致新的备份无法进行。因为。当然,人工整理备份文件最好,但是却不智能。没办法,只能通过程序来做了。1.利用管理计划(MaintenancePlans)中的备份文件过期策略和 清除维护 来管理备份文件a. 设置备份过期详情:b.根据磁盘空间,自动覆盖过期备份(Maintenance Plans(维护计划) 中的清除维护(Maintenance Cleanup))Maintenance Plans(维护计划)的详情请参阅:Ma 阅读全文
摘要:
1. backupfile表中的每条记录都对应着数据库中的数据文件或日志文件的一次备份信息。表中的字段说明了备份时文件的属性。通俗的说,是备份文件的详细表。主要字段:backup_set_id:备份集文件的唯一标识号。一个备份集可能包含多个数据文件或日志文件。filegroup_name :数据库备份的文件组名称,文件组名可以在数据库配置中自定义file_number :所属备份集中的IDbacked_up_page_count:已备份的页数file_type:已备份文件的类型,D = 数据文件,L = 日志文件,F = 全文目录(全文索引),可为nullfile_size :备份文件的长度, 阅读全文
摘要:
由于最近数据库的部分job总是不能十分健康的执行,而监控起来只能登陆db服务器去查看错误日志,维护起来十分麻烦,并且job一般都是比较重要的,比如备份数据库或者清理数据库等等。网站这边,经常由于清理job不能正常执行,造成数据库空间在几天内增加 2G - 3G 左右,最后排查发现,是由于执行清理的sql语句执行超时而至。所以,做了一个job执行报表的功能,集成于公司的后台,和 错误日志放在了一起,这样就能每天方便的监控了。下面是用到的SQL 语句:select top 150 a.run_date,a.run_time, b.name,step_id,step_name,a.message,a 阅读全文