随笔分类 - SQL Server 性能分析
摘要:SQL中一旦job比较多,里面执行的存储过程,就不知道是有哪些,下列语句可以用来查询Job的存储过程,将'%msdb%'替换成你要查的存储过程名称代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--SELECTb.[name][Job名称],CASEWHENb.enabled=1THEN'启用'ELSE'禁用'END[是否启用],b.description[Job描述],a.step_name[步骤名称],a.command[执行语句]FROMms
阅读全文
摘要:由于有了很多新功能,我们可以看到在SQL Server 2005和现在有SQL Server 2008中,Microsoft引进了一些动态管理视图来协助确认基于查询历史的可能索引候选人。 这些动态管理视图是: n sys.dm_db_missing_index_details –返回关于缺失索引的详细信息。 n sys.dm_db_missing_index_group_stats - 返回缺失索引组的摘要信息 n sys.dm_db_missing_index_groups – 返回一个具体组的缺失索引的信息。 n sys.dm_db_missing_index_columns(
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--ALTERPROC[dbo].[CleanTranLog]ASBEGINDECLARE@numTINYINT--执行次数DECLARE@backLogNameVARCHAR(100);--备份日志文件名称DECLARE@backLogPathVARCHAR(100);--备份日志文件的路径SET@num=0;SET@backLogPath=N'C:\SQLBackup';--设定备份日志的路径--
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--createprocedure[dbo].[sp_show_partition_range](@partition_tablenvarchar(255)=null,@partition_functionnvarchar(255)=null)asbeginsetnocountondeclare@function_idintset@function_id=null--get@function_idba
阅读全文
摘要:--如果指定 0,则使用当前数据库,使用前更新统计信息DBCC UPDATEUSAGE (0)--或者DBCC UPDATEUSAGE ('DB')--DBCC UPDATEUSAGE 对表和聚集索引中 sysindexes 表的 rows、used、reserved 和 dpages 列进行更正。...
阅读全文
摘要:返回表名、索引名和行数SELECT object_name(i.object_id) as objectName, i.[name] as indexName, sum(p.rows) as rowCntFROM sys.indexes iINNER JOIN sys.partitions pON i.object_id = p.object_idAND i.index_id = p.index_idWHERE i.object_id = object_id('dbo.Meeting')AND i.index_id = 1GROUP BY i.object_id, i.index_id, i
阅读全文
摘要:查询数据库中所有表的索引密度和碎片信息,以便为索引的重建和整理提供依据,也可以参考DBCC SHOWCONTIG,通常FRAGMENTATIOIN在30%以上建议重建,否则建议整理SELECT i.name AS indexname, o.name AS tablename, s.name AS schemaname, f.index_type_desc AS indextype, f.avg_p...
阅读全文
摘要:整理了一下如何查看数据库信息,记得有一次,在客户生产环境中,通过 print @@Version 查看,发现没有安装Sql server Sp2 就直接给他安装上sp2,后来发现是Windows 2003的sp1,而不是Sql server ,下面语句就可以查看数据库的版本和补丁信息 Code highlighting produced by Actipro CodeHighlight...
阅读全文
摘要:最近要回到公司,暂时离开客户的生产数据库,不能及时得到下列数据库信息: 1,系统运行sql语句的执行情况 2,统计每天全部表的数据变化(数据每天的增量)。 特意写了3个job线程,在晚上业务不繁忙的时候执行,来收集系统运行情况信息,等我回来再来分析sql,同时为系统优化提供参考。 create table tbSql( [语句编译时间] datetime, ...
阅读全文
摘要:目前在做一个项目优化时,想通过数据库层分析sql server系统性能,查了一下网上代码,修改了一下标题和DMVs代码,以下代码可以用来分析系统运行一段时间后,那些语句是系统忙的sql语句。做为参考。 另类使用: 一次在分析一个对账功能时,查看系统代码,看了半天,写得太不规范,又不写注释,看不明白。最后用了下面一个小技巧,和大家一起分享: 就是在测量功能时,先以下命令清除s...
阅读全文
摘要:分析sql执行计划重用次数,查看绑定变量使用情况 select total_elapsed_time / execution_count 平均时间,total_logical_reads/execution_count 逻辑读, usecounts 重用次数,SUBSTRING(d.text, (statement_start_offset/2) + 1, ((CASE...
阅读全文
摘要:dmv分析索引的使用情况,包括扫描次数,更新次数,有利于你评估设计的索引使用效率,sql server 2005的确比2000在性能分析上提高很多。 user_seeks : 通过用户查询执行的搜索次数。 个人理解: 此统计索引seek的次数 user_scans: 通过用户查询执行的扫描次数。 个人理解:此统计表扫描的次数,无索引配合 user_lookups: 通过用户查询执行的...
阅读全文
摘要:createPROCEDURE[dbo].[auto_checkblocks]ASsetnocountonifexists(select*frommaster..sysprocesseswhereblocked0)begin/**//*showtopblockers,butnoduplicates*...
阅读全文