Posts

Showing posts from September, 2024

Database Growth in % daily and Incremental

 USE [DailyDatabaseGrowthReport] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[DailyDatabaseGrowthReport]  AS BEGIN     SET NOCOUNT ON;     -- Check and create the table only if it does not exist     IF NOT EXISTS (SELECT 1 FROM sys.tables WHERE name = 'DBSizeDailyReport')     BEGIN         CREATE TABLE [dbo].[DBSizeDailyReport](             [ServerName] nvarchar(100) NOT NULL,             [DbName] nvarchar(100) NOT NULL,             [SizeInMB] int NOT NULL,             [WeekID] int NOT NULL,             [Date] datetime NOT NULL,             [DayWisePercentageGrowth] decimal(18, 2),             [IncrementalPercentage] decimal(18, 2)         );      ...

Montioring the LogFile usage by which query

 create table #log_file_logical_usage (database_name sysname primary key clustered, log_file_used_size int) create table #log_file_physical_usage (database_name sysname primary key clustered, log_file_physical_size int) insert into #log_file_logical_usage SELECT  instance_name as database_name, cntr_value as log_file_used_size FROM sys.dm_os_performance_counters where counter_name = 'Log File(s) Used Size (KB)' and instance_name not in ('master', '_Total' , 'mssqlsystemresource' , 'model' , 'DBA_Admin' , 'msdb')  insert into #log_file_physical_usage SELECT instance_name as database_name, cntr_value as log_file_physical_size FROM sys.dm_os_performance_counters where counter_name = 'Log File(s) Size (KB)' and instance_name not in ('master', '_Total' , 'mssqlsystemresource' , 'model' , 'DBA_Admin' , 'msdb') use tempdb checkpoint go use master insert into DBA_Admin.dbo.tlog_usage...

Capture the deadlocks for review purpose

/*capture the deadlock scripts*/  DECLARE @deadlock TABLE ( DeadlockID INT IDENTITY PRIMARY KEY CLUSTERED,         DeadlockGraph XML         ); CREATE TABLE #errorlog ( LogDate DATETIME , ProcessInfo VARCHAR(100) , [Text] VARCHAR(MAX) ); DECLARE @tag VARCHAR (MAX) , @path VARCHAR(MAX); INSERT INTO #errorlog EXEC sp_readerrorlog; SELECT @tag = text FROM #errorlog WHERE [Text] LIKE 'Logging%MSSQL\Log%'; DROP TABLE #errorlog; SET @path = SUBSTRING(@tag, 38, CHARINDEX('MSSQL\Log', @tag) - 29); INSERT  INTO @deadlock (DeadlockGraph) SELECT CONVERT(xml, event_data).query('/event/data/value/child::*') AS DeadlockReport FROM sys.fn_xe_file_target_read_file(@path + '\system_health*.xel', NULL, NULL, NULL) WHERE OBJECT_NAME like 'xml_deadlock_report';              WITH CTE AS ( SELECT  DeadlockID,         DeadlockGraph FROM    @deadlock ), Victims AS ( SELECT    ID = V...