Sometimes you may want to query the database for application deployment status.
Completion Statistics
This query gives results on Completion statistics. Replace DeploymentID with the actual deploymentID.
-- Completion Statistics select all SMS_DeploymentSummary.ApplicationName, SMS_DeploymentSummary.AssignmentID, SMS_DeploymentSummary.CI_ID, SMS_DeploymentSummary.CollectionID, SMS_DeploymentSummary.CollectionName, SMS_DeploymentSummary.CollectionType, SMS_DeploymentSummary.CreationTime, SMS_DeploymentSummary.DeploymentID, SMS_DeploymentSummary.DeploymentIntent, SMS_DeploymentSummary.DeploymentTime, SMS_DeploymentSummary.DesiredConfigType, SMS_DeploymentSummary.EnforcementDeadline,SMS_DeploymentSummary.FeatureType, SMS_DeploymentSummary.ModelName, SMS_DeploymentSummary.ModificationTime, SMS_DeploymentSummary.NumberErrors, SMS_DeploymentSummary.NumberInProgress,SMS_DeploymentSummary.NumberOther, SMS_DeploymentSummary.NumberSuccess, SMS_DeploymentSummary.NumberTargeted, SMS_DeploymentSummary.NumberUnknown, SMS_DeploymentSummary.ObjectTypeID, SMS_DeploymentSummary.PackageID,SMS_DeploymentSummary.PolicyModelID,SMS_DeploymentSummary.ProgramName, SMS_DeploymentSummary.RequireApproval, SMS_DeploymentSummary.SecuredObjectId, SMS_DeploymentSummary.SoftwareName, SMS_DeploymentSummary.SummarizationTime, SMS_DeploymentSummary.SummaryType from fn_DeploymentSummary(1033) AS SMS_DeploymentSummary where SMS_DeploymentSummary.DeploymentID = N'{DD980965-E85B-40A9-AF6A-1725ABEE37A5}'
It corresponds to Completion Statistics you see in SCCM console.
Deployment Status
Want to get deployment status of an application? Use those below. Make sure you replace AssignmentID and PolicyModelID and CollectionID with actual ones.
-- Success SELECT AppCI, AppName, AppStatusType, AssignmentID, AssignmentUniqueID, CollectionID, CollectionName, DeploymentIntent, DTCI, DTModelID, DTName, EnforcementState, PolicyModelID, StartTime, StatusType, Technology, Total FROM dbo.fn_AppDeploymentStatus(1033) AS SMS_AppDeploymentStatus WHERE (AssignmentID = N'16777366') AND (PolicyModelID = N'16838528') AND (StatusType = 1) AND (AppStatusType = 1) -- In Progress SELECT AppCI, AppName, AppStatusType, AssignmentID, AssignmentUniqueID, CollectionID, CollectionName, DeploymentIntent, DTCI, DTModelID, DTName, EnforcementState, PolicyModelID, StartTime, StatusType, Technology, Total FROM dbo.fn_AppDeploymentStatus(1033) AS SMS_AppDeploymentStatus WHERE (AssignmentID = N'16777366') AND (PolicyModelID = N'16838528') AND (StatusType = 2) AND (AppStatusType = 2) -- Error SELECT AppCI, AppName, AppStatusType, AssignmentID, AssignmentUniqueID, CollectionID, CollectionName, DeploymentIntent, DTCI, DTModelID, DTName, EnforcementState, ErrorCode, PolicyModelID, StartTime, StatusType, Technology, Total FROM dbo.fn_AppDeploymentErrorStatus(1033) AS SMS_AppDeploymentErrorStatus WHERE (AssignmentID = N'16777366') AND (PolicyModelID = N'16838528') AND (StatusType = 5) AND (AppStatusType = 5) -- Requirement not met SELECT AppCI, AppName, AppStatusType, AssignmentID, AssignmentUniqueID, CollectionID, CollectionName, DeploymentIntent, DTCI, DTModelID, DTName, EnforcementState, PolicyModelID, RequirementName, RequirementType, RuleID, StartTime, StatusType, Technology, Total FROM dbo.fn_AppDeploymentRNMStatus(1033) AS __ntRequirementsNotMetStatus0 WHERE (AssignmentID = N'16777366') AND (PolicyModelID = N'16838528') AND (StatusType = 3) AND (AppStatusType = 3) -- Unknown SELECT AssignmentID, AssignmentUniqueID, Category, CI_ID, CollectionID, CollectionName, DeploymentIntent, PolicyModelID, SoftwareName, StartTime, Total FROM dbo.fn_CIDeploymentUnknownStatus(1033) AS SMS_CIDeploymentUnknownStatus WHERE (AssignmentID = N'16777366') AND (PolicyModelID = N'16838528') AND (CollectionID = N'PS10001F')
You can get the same information in SCCM console: \Monitoring\Overview\Deployments\