L'errore è segnalato dal servizio SQL Server Agent al riavvio automatico di SQL Server. SQL Server Agent riavvierà automaticamente SQL Server solo se SQL Server è stato arrestato per ragioni diverse dall'arresto esplicito causato da un utente o da un'applicazione e se l'opzione "Riavvia automaticamente SQL Server in caso di arresto imprevisto" è selezionata nelle proprietà avanzate di SQL Server Agent. Durante il riavvio di SQL Server, SQL Server Agent scriverà questo messaggio nel log eventi dell'applicazione nel computer che ospita SQL Server.
L'errore è segnalato dal servizio SQL Server Agent al riavvio automatico di SQL Server. SQL Server Agent riavvierà automaticamente SQL Server solo se SQL Server è stato arrestato per ragioni diverse dall'arresto esplicito causato da un utente o da un'applicazione e se l'opzione "Riavvia automaticamente SQL Server in caso di arresto imprevisto" è selezionata nelle proprietà avanzate di SQL Server Agent. Durante il riavvio di SQL Server, SQL Server Agent scriverà questo messaggio nel log eventi dell'applicazione nel computer che ospita SQL Server.
SQL Server può arrestarsi in modo imprevisto per varie cause. Tali cause includono:
Problemi di memoria dovuti a processi in corso nello spazio di memoria di SQL Server, ad esempio una stored procedure estesa o un'automazione OLE.
Arresto diretto del processo sqlservr.exe, ad esempio dalla scheda Processi dell'utilità Gestione attività o tramite un programma quale kill.exe del Resource Kit di Windows.
Alcuni tipi di violazioni di accesso non gestite.
Se non si vuole che SQL Server Agent riavvii automaticamente SQL Server, disattivare l'opzione. La procedura per l'esecuzione di questa operazione è descritta nell'argomento "Proprietà di SQL Server Agent (scheda Avanzate)" della documentazione online.
Se il problema si verifica ripetutamente, sarà necessario determinare la causa dell'arresto imprevisto del servizio SQL Server:
Verificare se nel log degli errori di SQL Server e nei log del Visualizzatore eventi sono presenti errori correlati che possano aiutare a identificare la causa dell'arresto imprevisto del servizio.
Usare Performance Monitor per monitorare lo stato del sistema e stabilire se si sono verificati problemi quasi contemporaneamente all'interruzione del servizio.
Nome | Descrizione | Valore predefinito |
Attivato | Abilita o disabilita il flusso di lavoro. | Sì |
Intervallo (secondi) | Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro. | 300 |
Priorità | Definisce la priorità dell'avviso. | 1 |
Gravità | Definisce la gravità dell'avviso. | 2 |
Tempo di sincronizzazione | Tempo di sincronizzazione |
|
Timeout (secondi) | Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito. | 200 |
Timeout per la connessione di database (secondi) | Il flusso di lavoro avrà esito negativo e registrerà un evento se non riesce ad accedere al database durante il periodo specificato. | 15 |
Target | Microsoft.SQLServer.Windows.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{D9D2C13A-3AAA-410C-B594-EC4ED1A7FC75}';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.The_MSSQLServer_service_terminated_unexpectedly_3_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{D9D2C13A-3AAA-410C-B594-EC4ED1A7FC75}';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>14265</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.The_MSSQLServer_service_terminated_unexpectedly_3_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>