Recompilación de SQL para el motor de base de datos de 2014. Nota: este monitor está deshabilitado de manera predeterminada. Use las invalidaciones para habilitarlo cuando sea necesario.
Monitor de recompilación de SQL para el motor de base de datos de SQL 2014
Algunos cambios en una base de datos puede hacer que un plan de ejecución resulte ineficaz o no válido, según el nuevo estado de la base de datos. SQL Server detecta los cambios que invalidan un plan de ejecución y marcan el plan como no válido. Después, debe volver a compilarse un nuevo plan para la próxima conexión que ejecute la consulta.
Gran número de recompilaciones en comparación con las compilaciones.
Inicie SQL Profiler y compruebe el seguimiento de SQL:StmtRecompile para identificar la causa raíz del problema.
Nombre | Descripción | Valor predeterminado |
Habilitado |
| No |
Genera alertas |
| Sí |
Intervalo (segundos) | Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo. | 300 |
Número de ejemplos | Indica cuántas veces debe superar un umbral un valor medido para que cambie el estado. | 6 |
Umbral | Si la proporción entre la recompilación de SQL y la compilación de SQL es mayor que este valor, se genera la alerta de umbral. | 25 |
Tiempo de espera (segundos) | Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error. | 200 |
Target | Microsoft.SQLServer.2014.DBEngine | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.DBEngine.SQLReCompilation.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.DBEngine.SQLReCompilationMonitor" Accessibility="Public" Enabled="false" Target="SQL2014Core!Microsoft.SQLServer.2014.DBEngine" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.DBEngine.SQLReCompilation.MonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.DBEngine.SQLReCompilationMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<Threshold>25</Threshold>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>