/* EXEC PerfDB.dbo.TraceExecutionsDelete EXEC PerfDB.dbo.TraceExecutionsStart @Minutes = 60, @Path = N'B:\Traces\BaseLine' EXEC PerfDB.dbo.TraceExecutionsLoad @Path = N'B:\Traces\BaseLine.trc' EXEC PerfDB.dbo.TraceExecutionsManipulateData @Rows = 200 EXEC PerfDB.dbo.TraceExecutionsReport @StartDate = '20090125', @EndDate = '20090127 23:59', @Rows = 200 --DELETE FROM [BaseLine] WHERE InsertTime BETWEEN '20090928' AND '20090930' */ USE PerfDB; IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TraceExecutionsLoad]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[TraceExecutionsLoad] ; GO CREATE PROCEDURE TraceExecutionsLoad ( @Path sysname ) /* Yaniv Etrogi http://www.sqlserverutilities.com Load the data from the trace files to a table. */ AS SET NOCOUNT ON; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; --EXEC PerfDB.dbo.TraceExecutionsLoad @Path = N'B:\Traces\BaseLine.trc' -- Drop the table so it can created using SELECT..INTO IF EXISTS (SELECT * FROM sys.tables WHERE [name] = 'BaseLineFull') BEGIN; DROP TABLE BaseLineFull ; END; SELECT [StartTime] ,[EventClass] ,[LoginName] AS [Login] ,[ObjectName] AS [Object] ,[ApplicationName] AS [Application] ,[DatabaseName] AS [Database] ,[HostName] AS [Host] ,[CPU] ,[Reads] ,[Writes] ,[Duration] ,[RowCounts] ,[TextData] ,[SPID] INTO [dbo].[BaseLineFull] FROM ::fn_trace_gettable(@Path, DEFAULT); GO