文档中没有介绍的SQL Server DBCC命令
文檔中沒(méi)有介紹的SQL Server DBCC命令
http://www.searchdatabase.com.cn/showcontent_11822.htm
http://www.searchdatabase.com.cn/showcontent_11823.htm
http://www.searchdatabase.com.cn/showcontent_11824.htm
--------------------------------------------------------------------------------------------
--以下代碼為保存在測(cè)試過(guò)程中的CPU,IO,MEM相關(guān) 損耗情況。
--dbcc sqlperf(THREADS)
--dbcc sqlperf(waitstats)
?ALTER PROCEDURE [dbo].[MP_TRACE_LOG] AS
?BEGIN
?? ?SET NOCOUNT ON
??? declare @LgReads bigint ?
??? select @LgReads=cntr_value from master.dbo.sysperfinfo where counter_name='Page lookups/sec'? ?
??? if object_id(N'tempdb.dbo.#waits') is not null GOTO InsertTb? ?
??? if object_id(N'tempdb.dbo.#waits') is null GOTO CreateTb ?
???? ?
??? declare @thread_qty varchar(2),@stime varchar(6)
??? set @stime=substring(convert(varchar(20),getdate(),120),12,5)
?? ?
???? ?
???? ?
??? CreateTb: ?
??????? create table #waits (type varchar(128), req bigint, waittime bigint, signal bigint) GOTO InsertTb ?
??? InsertTb: ?
??????? insert into #waits exec('dbcc sqlperf(waitstats)') ?
??????? insert into TST_WaitsLog?? (DT,CPU,Locks,Reads,Writes,Network,PhReads,PhWrites,LgReads,threads_desc) ?
??????????? select? ?
??????????????? getdate() AS DT, ?
??????????????? CAST(@@CPU_BUSY * CAST(@@TIMETICKS AS FLOAT) / 1000 AS BIGINT) as CPU,? -- in milliseconds ?
??????????????? sum(convert(bigint, case when type like 'LCK%'? ?
????????????????? then waittime else 0 end)) as Locks, ?
??????????????? sum(convert(bigint, case when type like 'LATCH%'? or type like 'PAGELATCH%' or type like 'PAGEIOLATCH%' ?
????????????????? then waittime else 0 end)) as Reads, ?
??????????????? sum(convert(bigint, case when type like '%IO_COMPLETION%' or type='WRITELOG' ?
????????????????? then waittime else 0 end)) as Writes, ?
??????????????? sum(convert(bigint, case when type in ('NETWORKIO','OLEDB') ?
????????????????? then waittime else 0 end)) as Network, ?
??????????????? @@TOTAL_READ AS PhReads, @@TOTAL_WRITE AS PhWrites, ISNULL(@LgReads, 0) AS LgReads
?? ????????????? ?
??????????? from #waits ?
?? ?
??? CreateStateTb: ?
?? ??? ??????????? ?
?? ??? ?create table #io(spid int,thread_id int,t_status varchar(100),
?? ??? ?t_loginname varchar(100),t_io int,t_cpu int,t_mem int)
??? InsertStateTbData:
?? ??? ?insert into #io exec('dbcc sqlperf(THREADS)') ?
?? ??? ?insert into TST_Statelog
?? ??? ?select GETDATE(),t_loginname,SUM(t_io) as tio,
?? ??? ?SUM(t_cpu) as tcpu,SUM(t_mem) as tmem
?? ??? ? from #io
?? ??? ?group by t_loginname
?? ??? ?union all
?? ??? ?select GETDATE(),'All Total',SUM(t_io) as tio,
?? ??? ?SUM(t_cpu) as tcpu,SUM(t_mem) as tmem
?? ??? ? from #io
?? ?
?????????? ?
END???????????
總結(jié)
以上是生活随笔為你收集整理的文档中没有介绍的SQL Server DBCC命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux bash shell中,单引
- 下一篇: SQL SERVER 执行计划各字段注释