На выполнение запроса ввода-вывода потребовалось более 15 секунд. Это может свидетельствовать о наличии узких мест в системе ввода-вывода SQL Server. Производительность диска сильно влияет на производительность SQL Server. Примечание: по умолчанию это правило отключено. Используйте переопределения, чтобы включить его при необходимости.
На выполнение запроса ввода-вывода потребовалось более 15 секунд. Это может свидетельствовать о наличии узких мест в системе ввода-вывода SQL Server. Производительность диска сильно влияет на производительность SQL Server. Примечание: по умолчанию это правило отключено. Используйте переопределения, чтобы включить его при необходимости.
SQL Server создает больше запросов ввода-вывода, чем может обработать дисковая подсистема ввода-вывода.
Возможны проблемы с подсистемой ввода/вывода, проблемы с драйвером или встроенным программным обеспечением или неправильная настройка подсистемы ввода/вывода или сжатия, из-за которых существенно снижается скорость работы дисков, что влияет на SQL Server.
Один из системных процессов активно загружает диски запросами ввода/вывода. К таким процессам относятся программы для антивирусного сканирования, системы резервного копирования и т. д. Поэтому запросы на ввод/вывод, отправляемые SQL Server, начинают выполняться медленно.
Исключите файлы SQL Server из антивирусного сканирования.
Не размещайте файлы SQL Server на сжатых дисках.
Распределение файлов данных SQL Server и файлов журналов транзакций на дисках.
Если для базы данных tempdb отображается предупреждение "Запрос ввода/вывода выполняется слишком долго", включите флаг трассировки 1118 и увеличьте размер файлов данных tempdb. Дополнительные сведения см. в статье http://support.microsoft.com/kb/2154845
Если ни одно из этих действий не помогло решить проблему, соберите значения счетчиков мониторинга производительности.
Name | Description | Default Value |
Enabled | Enables or disables the workflow. | No |
Interval (seconds) | The recurring interval of time in seconds in which to run the workflow. | 300 |
Priority | Defines Alert Priority. | 1 |
Severity | Defines Alert Severity. | 1 |
Synchronization Time | Synchronization Time |
|
Timeout (seconds) | Specifies the time the workflow is allowed to run before being closed and marked as failed. | 200 |
Timeout for database connection (seconds) | The workflow will fail and register an event, if it cannot access the database during the specified period. | 15 |
Target | Microsoft.SQLServer.Windows.DBEngine | ||
Category | EventCollection | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{ACF21E73-7DD4-4899-A1BF-5BCBACF479EF}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.IORequestsTakingLongerThen15SecondsToComplete" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="false" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{ACF21E73-7DD4-4899-A1BF-5BCBACF479EF}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>833</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.IORequestsTakingLongerThen15SecondsToComplete.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>