ServiceDesk

 View Only
  • 1.  ServiceDesk 7.1 out of box error writing LogonAudit row to database

    Posted Mar 24, 2011 03:52 PM

    My brand new ServiceDesk 7.1 throws this error in the Windows application and Workflow logs:

     

    Application Name : Ensemble2006
    Process ID : 1404
    Date :3/24/2011 2:05:17 PM
    Log Level :Error
    Log Category :LoginAudit
    Machine Name : PALT02
    Message :
    [Applications] Error adding LoginAudit to database.
    [Applications] Client Host Information:
    [Applications] IP: fe80::d530:9f4b:4c5c:741f%20
    [Applications] HostName: fe80::d530:9f4b:4c5c:741f%20
    [Applications] Browser: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.4952)
    [Applications] -- error.ToString() --
    [Applications] LogicBase.Framework.DataLayer.DataLayerException: Error executing sql query. ---> System.Data.SqlClient.SqlException: String or binary data would be truncated.
    [Applications] The statement has been terminated.
    [Applications]    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
    [Applications]    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
    [Applications]    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
    [Applications]    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
    [Applications]    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
    [Applications]    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
    [Applications]    at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
    [Applications]    at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
    [Applications]    at LogicBase.Framework.DataLayer.DALProxy.ExecuteQueryNonQuery(DatabaseQuery query)
    [Applications]    --- End of inner exception stack trace ---
    [Applications]    at LogicBase.Framework.DataLayer.DALProxy.ExecuteQueryNonQuery(DatabaseQuery query)
    [Applications]    at LogicBase.Ensemble.Applications.ServiceCore.LoginAudit.Add(LoginAudit item)
     

    Any ideas on which field to increase? here's our choices:

    LoginAuditID      char(36)        - I don't think so

    LoginName        nvarchar(255) - Maybe but my username (email) isn't unusually long

    UserID              nvarchar(36)   - doubt it as its a guid or 'admin user'

    IP                     nvarchar(16)   - doubt it (although what about IPv6?)

    CreatedDate      datetime        - Nope

    Success           bit                 - Nope

    Message          nvarchar(255)  - My bet is this one



  • 2.  RE: ServiceDesk 7.1 out of box error writing LogonAudit row to database

    Posted Mar 25, 2011 07:50 AM

    Could you maybe run SQL Profiler at the time of login to capture the exact SQL being ran? This will definitley lead to what the big row is (my money is on IP - your hunches on IPv6 may be correct)



  • 3.  RE: ServiceDesk 7.1 out of box error writing LogonAudit row to database
    Best Answer

    Posted Mar 29, 2011 11:25 AM

    OK ran the SQL profiler on the LoginAudit table and sure enough the IP field is too short if IPv6 is being used. My server guys said they could change it to always resolve to IPv4 but I simply copied the table to a backup table, dropped it and recreated with a the IP field set to nvarchar(100) and for good measure message field to nvarchar(1000). Now rows with IPv6 are being logged and no errors (of this sort) are being reported.