MSSQL on Windows: Local SQL Server Database Engines Discovery Source

Microsoft.SQLServer.Windows.DataSource.LocalDBEngineDiscovery (DataSourceModuleType)

This module type is used to discovery instances of Local MSSQL Database Engines. The module queries the registry and WMI for installation information and then connects to each instance of database engines found to gather property information about the instance.

Element properties:

TypeDataSourceModuleType
IsolationAny
AccessibilityInternal
RunAsMicrosoft.SQLServer.Core.RunAs.Discovery
OutputTypeSystem.Discovery.Data

Member Modules:

ID Module Type TypeId RunAs 
Scheduler DataSource System.Discovery.Scheduler Default
Probe ProbeAction Microsoft.SQLServer.Windows.ProbeAction.LocalDBEngineDiscovery Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
IntervalSecondsint$Config/IntervalSeconds$Interval (seconds)The recurring interval of time in seconds in which to run the workflow.
SyncTimestring$Config/SyncTime$Synchronization TimeThe synchronization time specified by using a 24-hour format. May be omitted.
TimeoutSecondsint$Config/TimeoutSeconds$Timeout (seconds)Specifies the time the workflow is allowed to run before being closed and marked as failed.
AgentlessMonitoringstring$Config/AgentlessMonitoring$Mixed MonitoringSpecifies the names of the instances that should be monitored in mixed mode. Use comma to divide instance names. Use ‘*‘ to monitor all local DB Engines in mixed mode.
ExcludeListstring$Config/ExcludeList$Exclude ListA comma-separated list of DB Engines that must be excluded from discovery. Use a wildcard character ‘*’ to exclude all DB Engines. Otherwise, use conditions like ‘*_test’ to exclude DB Engines, the names of which end with _test, ‘Test*’ to exclude DB Engines, the names of which start with Test, or a ‘*test*’ condition to exclude DB Engines that have a test entry in any part of the DB Engine’s name.
ExcludedVersionsstring$Config/ExcludedVersions$Versions of SQL Server to be excludedA comma-separated list of SQL Server versions to be excluded from discovery. Example: ‘2012, 2016‘.
ExcludedEditionsstring$Config/ExcludedEditions$Editions of SQL Server to be excludedA comma-separated list of SQL Server editions to be excluded from discovery. Supported values: Enterprise, Standard, Web, Developer, Express, Evaluation.

Source Code:

<DataSourceModuleType ID="Microsoft.SQLServer.Windows.DataSource.LocalDBEngineDiscovery" Accessibility="Internal" RunAs="SqlCoreLib!Microsoft.SQLServer.Core.RunAs.Discovery">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IntervalSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SyncTime" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TimeoutSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="PrincipalName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="AgentlessMonitoring" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ExcludeList" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ExcludedVersions" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ExcludedEditions" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" ParameterType="int" Selector="$Config/IntervalSeconds$"/>
<OverrideableParameter ID="SyncTime" ParameterType="string" Selector="$Config/SyncTime$"/>
<OverrideableParameter ID="TimeoutSeconds" ParameterType="int" Selector="$Config/TimeoutSeconds$"/>
<OverrideableParameter ID="AgentlessMonitoring" ParameterType="string" Selector="$Config/AgentlessMonitoring$"/>
<OverrideableParameter ID="ExcludeList" ParameterType="string" Selector="$Config/ExcludeList$"/>
<OverrideableParameter ID="ExcludedVersions" ParameterType="string" Selector="$Config/ExcludedVersions$"/>
<OverrideableParameter ID="ExcludedEditions" ParameterType="string" Selector="$Config/ExcludedEditions$"/>
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<DataSource ID="Scheduler" TypeID="System!System.Discovery.Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval Unit="Seconds">$Config/IntervalSeconds$</Interval>
<SyncTime>$Config/SyncTime$</SyncTime>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
</DataSource>
<ProbeAction ID="Probe" TypeID="Microsoft.SQLServer.Windows.ProbeAction.LocalDBEngineDiscovery">
<DiscoverySourceObjectId>$MPElement$</DiscoverySourceObjectId>
<DiscoverySourceManagedEntityId>$Target/Id$</DiscoverySourceManagedEntityId>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<PrincipalName>$Config/PrincipalName$</PrincipalName>
<DBEngineClassId>$MPElement[Name='Microsoft.SQLServer.Windows.LocalDBEngine']$</DBEngineClassId>
<SQLMonitoringPoolClassId>$MPElement[Name='SqlCoreLib!Microsoft.SQLServer.Core.SQLMonitoringPool']$</SQLMonitoringPoolClassId>
<ManagementActionPointShouldManageEntityRelationshipId>$MPElement[Name='SC!Microsoft.SystemCenter.ManagementActionPointShouldManageEntity']$</ManagementActionPointShouldManageEntityRelationshipId>
<ServerComputerClassId>$MPElement[Name='Windows!Microsoft.Windows.Server.Computer']$</ServerComputerClassId>
<ServerComputerContainsDBEngineRelationshipId>$MPElement[Name='Microsoft.SQLServer.Windows.ServerComputerContainsDBEngine']$</ServerComputerContainsDBEngineRelationshipId>
<HealthServiceClassId>$MPElement[Name='SC!Microsoft.SystemCenter.HealthService']$</HealthServiceClassId>
<HealthServiceShouldManageEntityRelationshipId>$MPElement[Name='SC!Microsoft.SystemCenter.HealthServiceShouldManageEntity']$</HealthServiceShouldManageEntityRelationshipId>
<LocalClusteredDbEngineSeedClassId>$MPElement[Name='Microsoft.SQLServer.Windows.LocalClusteredDBEngineDiscoverySeed']$</LocalClusteredDbEngineSeedClassId>
<ResourcePoolGroupId>$MPElement[Name='Microsoft.SQLServer.Windows.ResourcePoolGroup']$</ResourcePoolGroupId>
<ComputersContainsWindowsComputerRelationshipId>$MPElement[Name='Microsoft.SQLServer.Windows.ComputersGroupContainsWindowsComputer']$</ComputersContainsWindowsComputerRelationshipId>
<ComputersGroupClassId>$MPElement[Name='Microsoft.SQLServer.Windows.ComputersGroup']$</ComputersGroupClassId>
<WindowsComputerClassId>$MPElement[Name="Windows!Microsoft.Windows.Computer"]$</WindowsComputerClassId>
<InMemoryOltpFeatureGroupClassId>$MPElement[Name="Microsoft.SQLServer.Windows.Discovery.InMemoryOltpFeatureGroup"]$</InMemoryOltpFeatureGroupClassId>
<SmartAdminFeatureGroupClassId>$MPElement[Name="Microsoft.SQLServer.Windows.Discovery.SmartAdminFeatureGroup"]$</SmartAdminFeatureGroupClassId>
<SqlAgentFeatureGroupClassId>$MPElement[Name="Microsoft.SQLServer.Windows.Discovery.SqlAgentFeatureGroup"]$</SqlAgentFeatureGroupClassId>
<SqlResurcePoolFeatureGroupClassId>$MPElement[Name="Microsoft.SQLServer.Windows.Discovery.SqlResurcePoolFeatureGroup"]$</SqlResurcePoolFeatureGroupClassId>
<SqlFeatureGroupContainsDBEngineRelationshipId>$MPElement[Name="Microsoft.SQLServer.Windows.Discovery.SqlFeatureGroupContainsDBEngine"]$</SqlFeatureGroupContainsDBEngineRelationshipId>
<Publisher>SQLDiscoveryWindows</Publisher>
<ManagementGroupName>$Target/ManagementGroup/Name$</ManagementGroupName>
<AgentlessMonitoring>$Config/AgentlessMonitoring$</AgentlessMonitoring>
<ExcludeList>$Config/ExcludeList$</ExcludeList>
<ExcludedVersions>$Config/ExcludedVersions$</ExcludedVersions>
<ExcludedEditions>$Config/ExcludedEditions$</ExcludedEditions>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="Probe">
<Node ID="Scheduler"/>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>