Submit a ticketCall us

Training ClassSign up for Network Performance Monitor (NPM) and Scalability instructor-led classes

Attend our instructor-led classes, provided by SolarWinds® Academy, to discuss the more advanced monitoring mechanisms available in NPM as well as how to tune your equipment to optimize its polling capabilities. NPM classes offered:
NPM Custom Monitoring and Polling
Orion Platform Scalability

Reserve your seat.

Home > Success Center > Orion Platform > Orion - Knowledgebase Articles > Orion Syslog service causes database deadlocks

Orion Syslog service causes database deadlocks

Updated December 7, 2016


Database deadlocks are occurring due to the Orion Syslog service.


All Orion Platform versions


The Syslog service is having issues with getting timeouts when connecting to SQL to update the host name. When a syslog message comes in, it looks at the IP address that the message is from and runs a query against the SolarWinds database to get the host name for that IP address. The error is thrown because SQL timed out or has a dead lock and it does not get a result. It is not related to a specific IP address but is just the process of matching the host name to IP.


  1. On the Orion server, go to C:\ProgramData\Solarwinds\Logs\Orion\SyslogService
  2. Check the latest SyslogService log for the following errors:

ERROR SyslogService.SyslogService - Error updating hostname
System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 303) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at SyslogService.SyslogService.UpdateCacheEntry(Object ipAddress)

  1.  For a complete list of devices (not managed in Orion) sending Syslog messages, request your DBA to run the following SQL query:

    Select IP from SysLog where NodeID = '0'

You should now have the option to either add the devices as nodes or discard them from the Syslog Viewer.




Last modified