SQL Server не удалось выделить достаточное число памяти для выполнения запроса.
SQL Server не удалось выделить достаточное число памяти для выполнения запроса.
Проблема может быть вызвана целым рядом причин, включая параметры операционной системы, физическую доступность памяти, а также ограничения памяти для текущей рабочей нагрузки. В большинстве случаев транзакция, завершившаяся сбоем, не является причиной этой ошибки. Диагностические запросы, такие как инструкции DBCC, могут завершаться сбоем из-за того, что на сервере недостаточно памяти.
SQL Server с оптимизированными для памяти данными использует память в большем объеме и иначе, чем SQL Server. Может оказаться, что объема памяти, установленного и выделенного для оптимизированных для памяти данных, станет недостаточно для удовлетворения ваших растущих потребностей. В этом случае вы можете столкнуться с нехваткой памяти.
См. статью "Мониторинг использования памяти и устранение неисправностей", которая поможет вам избежать многих ситуаций нехватки памяти.
См. дополнительные сведения об этой проблеме: Устранение проблем нехватки памяти (OOM — Out Of Memory)
Имя | Описание | Значение по умолчанию |
Включено | Включает или отключает рабочий процесс. | Да |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, в который следует запустить рабочий процесс. | 300 |
Приоритет | Определение приоритета оповещений. | 1 |
Важность | Определяет серьезность предупреждения. | 2 |
Время синхронизации | Время синхронизации |
|
Время ожидания (в секундах) | Указывает время, в течение которого рабочий процесс должен быть запущен, прежде чем он будет закрыт и отмечен как завершившийся сбоем. | 200 |
Время ожидания для подключения к базе данных (секунды) | Рабочий процесс завершится ошибкой и зарегистрирует событие, если он не сможет получить доступ к базе данных за указанный промежуток времени. | 15 |
Target | Microsoft.SQLServer.Linux.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{2531CFA5-7EF0-4B45-AAA1-DAE73294DFF6}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.EventCollectionRule.DBEngine.SQLServerOutOfMemory" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{2531CFA5-7EF0-4B45-AAA1-DAE73294DFF6}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" Comment="DS" TypeID="Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>701</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.EventCollectionRule.DBEngine.SQLServerOutOfMemory.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>