MSSQL 2014: Discover Database Engine Resource Pools

Microsoft.SQLServer.2014.Discovery.ResourcePool (Discovery)

This discovery rule discovers resource pools for a given instance of SQL Server 2014 DB Engine.

Knowledge Base article:

Summary

This discovery rule discovers the default resource pool for a given instance of SQL Server vNext DB Engine and binds the specified Memory-Optimized Data Storage database to the specified resource pool. Both the database and the resource pool must exist prior to executing sys.sp_xtp_bind_db_resource_pool.

Overrideable Parameters

Name

Description

Default Value

Discover only Memory-Optimized Data pools

Must be 'true' or 'false'. When this property is set to true then discovery will disover only pools with bound databases. A database can be bound to a pool by using function sys.sp_xtp_bind_db_resource_pool.

Yes

Enabled

Enables or disables the workflow.

Yes

Interval (seconds)

The recurring interval of time in seconds in which to run the workflow.

14400

Synchronization Time

The synchronization time specified by using a 24-hour format. May be omitted.

 

Timeout (seconds)

Specifies the time the workflow is allowed to run before being closed and marked as failed.

300

Element properties:

TargetMicrosoft.SQLServer.2014.Database
EnabledTrue
Frequency14400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2014.DataSource.ResourcePool Default

Source Code:

<Discovery ID="Microsoft.SQLServer.2014.Discovery.ResourcePool" Enabled="true" Target="Microsoft.SQLServer.2014.Database">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Microsoft.SQLServer.2014.InternalPool">
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="PoolID"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="Name"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MinCpuPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MaxCpuPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="CapCpuPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MinMemoryPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MaxMemoryPercent"/>
</DiscoveryClass>
<DiscoveryClass TypeID="Microsoft.SQLServer.2014.DefaultPool">
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="PoolID"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="Name"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MinCpuPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MaxCpuPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="CapCpuPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MinMemoryPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MaxMemoryPercent"/>
</DiscoveryClass>
<DiscoveryClass TypeID="Microsoft.SQLServer.2014.UserDefinedPool">
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="PoolID"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="Name"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MinCpuPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MaxCpuPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="CapCpuPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MinMemoryPercent"/>
<Property TypeID="Microsoft.SQLServer.2014.ResourcePool" PropertyID="MaxMemoryPercent"/>
</DiscoveryClass>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2014.DataSource.ResourcePool">
<IntervalSeconds>14400</IntervalSeconds>
<SyncTime/>
<ComputerID>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerID>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<SQLInstanceName>$Target/Host/Property[Type="Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</SQLInstanceName>
<TimeoutSeconds>300</TimeoutSeconds>
<OnlyInMemoryOLTPPools>true</OnlyInMemoryOLTPPools>
</DataSource>
</Discovery>