Per l'ottimizzazione delle query in Query Processor, viene utilizzato uno stack di memoria esteso, ma limitato. In alcune condizioni estreme, le dimensioni dello stack possono rappresentare un limite per una query molto estesa, ad esempio una query con un elenco di 100.000 costanti.
Per l'ottimizzazione delle query in Query Processor, viene utilizzato uno stack di memoria esteso, ma limitato. In alcune condizioni estreme, le dimensioni dello stack possono rappresentare un limite per una query molto estesa, ad esempio una query con un elenco di 100.000 costanti.
Per evitare il problema, semplificare la query. Ad esempio, nel caso di un elenco molto esteso, archiviare le costanti in una tabella temporanea o in una variabile di tabella e riscrivere la query in modo che utilizzi tale tabella temporanea o variabile.
Nome | Descrizione | Valore predefinito |
Abilitato | Abilita o disabilita il flusso di lavoro. | Sì |
Priorità | Definisce la priorità dell'avviso. | 1 |
Gravità | Definisce la gravità dell'avviso. | 2 |
Target | Microsoft.SQLServer.2016.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 8621 | ||
Event Source | $Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2016ID='{100AE678-D3DD-4FFD-B3E5-F9E1B03229E7}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2016.Internal_Query_Processor_Error__The_query_processor_ran_out_of_stack_space_during_query_optimization_1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{100AE678-D3DD-4FFD-B3E5-F9E1B03229E7}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>8621</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2016.Internal_Query_Processor_Error__The_query_processor_ran_out_of_stack_space_during_query_optimization_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>