I know this will get folks riled up
We’re on 10.0.700.4, and trying to clean up 20 gig of change logs (in our test db first) via the Epicor database purge process. Unfortunately, it errors out for Change Logs and Journal Details, but PartTran does complete.
Does anyone know if Epicor’s database purge (for the Change Log option only) does anything more than deleting rows? If not, is there any harm in deleting rows <=12/31/2015 from the ChangeLog table directly in SQL? I’m assuming that table doesn’t hook in anywhere else, but don’t want to chance messing with the logic of Epicor.
USE [ERP10Pilot] GO DELETE FROM [Ice].[ChgLog] WHERE DATESTAMPEDON <='12/31/15' GO
Support provided a few SCR’s and suggestions from the performance diagnostic tool, but it still errored out on the SysMon. The only fixes we haven’t applied are related to logging or updating our SQL Server service pack (we’re upgrading hardware/software next month, and our DBA’s time is in tight supply). By clearing out 20 gigs x 2 db’s before migrating to the new servers, it’ll free up a lot of space and conversion time.
Here’s the full error message:
Program Ice.Services.Lib.RunTask raised an unexpected exception with the following message: RunTask: The transaction associated with the current connection has completed but has not been disposed. The transaction must be disposed before the connection can be used to execute SQL statements.
at System.Data.SqlClient.TdsParser.TdsExecuteRPC(_SqlRPC rpcArray, Int32 timeout, Boolean inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, Boolean isCommandProc, Boolean sync, TaskCompletionSource
1 completion, Int32 startRpc, Int32 startParam) 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, TaskCompletionSource1 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.Objects.ObjectContext.ExecuteStoreCommand(String commandText, Object parameters)
at Ice.IceDataContext.DeleteObject(Object entity)
at Erp.Internal.XA.DBPurgeLogic.DeleteChangeLog(Int32 instanceTaskNum)
at Erp.Internal.XA.DBPurgeLogic.RunProcess(Int32 instanceTaskNum, String outputFileName)
at Ice.Services.Lib.RunTaskSvc.RunTask(Int32 ipTaskNum)