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 registro eventi dell'applicazione sul computer in cui è in esecuzione 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 d'accesso non gestite.
Se non si desidera 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.
Utilizzare Performance Monitor per monitorare lo stato del sistema e stabilire se si sono verificati problemi quasi contemporaneamente all'interruzione del servizio.
Per ulteriori informazioni sulla generazione dei file di dettagli SQL, vedere l'articolo 827690 della Microsoft Knowledge Base. Tali informazioni, combinate con l'output di SQLDiag.exe, possono essere utilizzate dal Servizio Supporto Tecnico Microsoft per determinare la causa radice del problema.
Target | Microsoft.SQLServer.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 14265 | ||
Event Source | $Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2008ID='{D9D2C13A-3AAA-410C-B594-EC4ED1A7FC75}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Microsoft.SQLServer.SQLDefaultAccount |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2008.The_MSSQLServer_service_terminated_unexpectedly_3_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{D9D2C13A-3AAA-410C-B594-EC4ED1A7FC75}';MOM2008GroupID={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" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<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="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>14265</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.2008.The_MSSQLServer_service_terminated_unexpectedly_3_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>