L'exécution de la demande d'E/S a duré plus de 15 secondes. Cela peut indiquer un goulot d'étranglement au niveau des E/S SQL Server. Les performances de SQL Server reposent principalement sur celles du disque. Remarque : Cette règle est désactivée par défaut. Utilisez des remplacements pour l'activer en cas de besoin.
L'exécution de la demande d'E/S a duré plus de 15 secondes. Cela peut indiquer un goulot d'étranglement au niveau des E/S SQL Server. Les performances de SQL Server reposent principalement sur celles du disque. Remarque : Cette règle est désactivée par défaut. Utilisez des remplacements pour l'activer en cas de besoin.
SQL Server génère dynamiquement plus de demandes d'E/S que ce que peut gérer le sous-système de disque d'E/S.
Il s'agit peut-être d'un problème au niveau du sous-système d'E/S (ou) d'un problème au niveau du pilote/firmware (ou) d'une configuration incorrecte du sous-système d'E/S (ou) d'une compression. Par conséquent, les disques fonctionnent très lentement et SQL Server en est impacté.
Un autre processus sur le système sature les disques avec des demandes d'E/S. Il peut s'agir d'une application courante comme une analyse antivirus, une sauvegarde système, etc. Par conséquent, les demandes d'E/S publiées par SQL Server sont ralenties.
Excluez les fichiers SQL Server de l'analyse antivirus.
Ne placez pas les fichiers SQL Server sur des lecteurs compressés.
Distribuez les fichiers de données SQL Server et les fichiers journaux de transactions sur plusieurs disques.
Si l'avertissement « La demande d'E/S prend plus de temps » concerne tempdb, activez l'indicateur de trace 1118 et augmentez les fichiers de données de tempdb, consultez http://support.microsoft.com/kb/2154845
Si aucune des solutions ci-dessus ne résout le problème, collectez les compteurs PerfMon.
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.Linux.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.Linux.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.IORequestsTakingLongerThen15SecondsToComplete" Target="SqlDiscL!Microsoft.SQLServer.Linux.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.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>833</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.IORequestsTakingLongerThen15SecondsToComplete.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>