Posts

Showing posts from 2014

Configure alerts for CPU utilization higher than 80% for more than 5mins

SET NOCOUNT ON DECLARE @TimeNow bigint SELECT @TimeNow = cpu_ticks / convert(float, ms_ticks) from sys.dm_os_sys_info -- Collect Data from DMV Select record_id, dateadd(ms, -1 * (@TimeNow - [timestamp]), GetDate())EventTime, SQLSvcUtilization, SystemIdle, (100 - SystemIdle - SQLSvcUtilization) AS OtherOSProcessUtilization into #tempCPURecords from ( select record.value('(./Record/@id)[1]', 'int')record_id, record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]','int')SystemIdle, record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]','int')SQLSvcUtilization, timestamp from ( select timestamp, convert(xml, record)record from sys.dm_os_ring_buffers where ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR' and record like '%<SystemHealth>%')x )y  order by record_id desc To send detailed sql server session reports consuming high cpu  For a dedicated SQL Serve...

convert comma seperated values into distinct values

CREATE FUNCTION [dbo].Split1(@input AS Varchar(4000) ) RETURNS       @Result TABLE(Value BIGINT) AS BEGIN       DECLARE @str VARCHAR(20)       DECLARE @ind Int       IF(@input is not null)       BEGIN             SET @ind = CharIndex(',',@input)             WHILE @ind > 0             BEGIN                   SET @str = SUBSTRING(@input,1,@ind-1)                   SET @input = SUBSTRING(@input,@ind+1,LEN(@input)-@ind)               ...

trimming characters

declare @T table   (   Col varchar(20)   )   insert into @T   Select 'WO-012345' --'images/test1.jpg'   --union all   --Select 'images/test2.png'   --union all   --Select 'images/test3.jpg'   --union all   --Select 'images/test4.jpeg'   --union all   --Select 'images/test5.jpeg'  Select substring( col,charindex('-',Col)+1,6 ) from @T

find a column name in all databases

SELECT t.name AS table_name, SCHEMA_NAME(schema_id) AS schema_name, c.name AS column_name FROM sys.tables AS t INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID WHERE c.name LIKE '%gradient%' ORDER BY schema_name, table_name;

Find a VALUE in all the tables

CREATE PROC SearchAllTables ( @SearchStr nvarchar(100) ) AS BEGIN /* exec SearchAllTables @SearchStr = 'transparent' */ CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630)) SET NOCOUNT ON DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110) SET  @TableName = '' SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''') WHILE @TableName IS NOT NULL BEGIN     SET @ColumnName = ''     SET @TableName =     (         SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))         FROM    INFORMATION_SCHEMA.TABLES         WHERE       TABLE_TYPE = 'BASE TABLE'             AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName             AND OBJECTPROPERTY(             ...

find complete information about dependency of a Stored Procedure

;WITH stored_procedures AS ( SELECT o.name AS proc_name, oo.name AS table_name, ROW_NUMBER() OVER(partition by o.name,oo.name ORDER BY o.name,oo.name) AS row FROM sysdepends d INNER JOIN sysobjects o ON o.id=d.id INNER JOIN sysobjects oo ON oo.id=d.depid WHERE o.xtype = 'P') SELECT proc_name, table_name FROM stored_procedures --WHERE row = 1 where proc_name like 'usp_insTextSize' ORDER BY proc_name,table_name