Listing 1: Capturing values and storing them tempdb database CREATE PROCEDURE [dbo].[collect_file_stats] (@Clear INT = 0) AS SET NOCOUNT ON ; IF OBJECT_ID(N'[tempdb].[dbo].[file_stats]',N'U') IS NULL CREATE TABLE [tempdb].[dbo].[file_stats]( [database_id] [smallint] NOT NULL, [file_id] [smallint] NOT NULL, [num_of_reads] [bigint] NOT NULL, [num_of_bytes_read] [bigint] NOT NULL, [io_stall_read_ms] [bigint] NOT NULL, [num_of_writes] [bigint] NOT NULL, [num_of_bytes_written] [bigint] NOT NULL, [io_stall_write_ms] [bigint] NOT NULL, [io_stall] [bigint] NOT NULL, [size_on_disk_bytes] [bigint] NOT NULL, [capture_time] [datetime] NOT NULL ) ; -- If 1 the clear out the table IF @Clear = 1 BEGIN TRUNCATE TABLE [tempdb].[dbo].[file_stats] ; END INSERT INTO [tempdb].[dbo].[file_stats] ([database_id] ,[file_id] ,[num_of_reads] ,[num_of_bytes_read] ,[io_stall_read_ms] ,[num_of_writes] ,[num_of_bytes_written] ,[io_stall_write_ms] ,[io_stall] ,[size_on_disk_bytes] ,[capture_time]) SELECT [database_id] ,[file_id] ,[num_of_reads] ,[num_of_bytes_read] ,[io_stall_read_ms] ,[num_of_writes] ,[num_of_bytes_written] ,[io_stall_write_ms] ,[io_stall] ,[size_on_disk_bytes] ,GETDATE() FROM [sys].dm_io_virtual_file_stats(NULL,NULL) ;