/******************************************************************
Impacted Report: Capacity Utilization
Functionality: Getting CPU/Disk/Memory usage performance data of all the Hosts selected by user during the specified time range
Peformance data including:
(1) CPU usage (in percent)
(2) Disk usage (in percent)
(3) Memory usage (in percent)
IF NOT EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'Microsoft_SystemCenter_VirtualMachineManager_2016_Report_PIFHostsResourcesCapacityUtilizationReportDataGet')
BEGIN
EXECUTE ('CREATE PROCEDURE dbo.[Microsoft_SystemCenter_VirtualMachineManager_2016_Report_PIFHostsResourcesCapacityUtilizationReportDataGet] AS RETURN 1')
END
GO
ALTER PROCEDURE [dbo].[Microsoft_SystemCenter_VirtualMachineManager_2016_Report_PIFHostsResourcesCapacityUtilizationReportDataGet]
@UTCStartDate1 DATETIME,
@StartDate1 DATETIME,
@UTCEndDate1 DATETIME,
@ObjectList XML,
@TotalMemoryPropertyID UNIQUEIDENTIFIER,
@VMHostTypeRowId NVARCHAR(100),
@DataAggregation TINYINT = 0
AS
BEGIN
SET NOCOUNT ON
DECLARE @ObjectRowidList NVARCHAR(MAX)
SET @ObjectRowidList = ''
-- Combine all the Object rowid in #TempReportObjectList into one string like "122,123,124," and stored it into @ObjectRowidList
SELECT @ObjectRowidList = @ObjectRowidList + CONVERT(NVARCHAR(10), #TempReportObjectList.ManagedEntityRowid) + ','
from #TempReportObjectList
WHERE #TempReportObjectList.ManagedEntityRowid IS NOT NULL
--Remove the last char ',' to make sure the @ObjectRowidList like "122,123,124"
SET @ObjectRowidList = LEFT(@ObjectRowidList, LEN(@ObjectRowidList) -1)
SELECT
CONVERT(Datetime, DataPointDateTime, 0) as DataPointDateTime,
CPUUsage,
DiskStorage,
MemUsagePercent
FROM Microsoft_SystemCenter_VirtualMachineManager_2016_Function_HostResourcesPerformanceData
(
@UTCStartDate1,
@StartDate1,
@UTCEndDate1,
@ObjectRowidList,
@TotalMemoryPropertyID,
@VMHostTypeRowId,
@DataAggregation
)
WHERE CPUUsage IS NOT NULL
OR DiskStorage IS NOT NULL
OR MemUsagePercent IS NOT NULL
DROP TABLE #TempReportObjectList
SET NOCOUNT OFF
END
GO
GRANT EXECUTE ON dbo.[Microsoft_SystemCenter_VirtualMachineManager_2016_Report_PIFHostsResourcesCapacityUtilizationReportDataGet] TO OpsMgrReader
GO