01-09-2014 07:00 AM
ACT! Version = ACT! by Sage Premium 2008 (10.0) (ST Edition) Version 10.0.3.182, Hotfix 1
Database is stored on a Server and remote (client & ACT for Web) connect to the server.
I was running maintenance and the program locked up and it was killed (end process). Well the database was locked prior to maintenance.
So now when I run ACTDiag (acting flakey) the status shows recovering. At one time it was online and syncing was populated and lock was set to locked.
I have tried http://kb.swiftpage.com/app/answers/detail/a_id/17715 but I can't seem to delete the database as it says the database is in use. My guess is it is because the database still shows as locked.
The last backup was done on 1/3. The database is rather large 12.5GB and the C Drive where the temp gets created during a backup is a couple Gigabytes too small.
Any/all assistance would be greatly appreciated as we are basically in a down state with ACT!
01-09-2014 07:43 AM
Anytime I try anything against the database I get an Unhandled Exception Error:
System.Data.SqlClient.SqlException: Database 'DB_Name' is already open and can only have one user at a time.
So my gess is that the lock has to be removed before anything can be done. Is there a "backdoor" way to unlock the database?
01-09-2014 07:59 AM
The database lock only lock out other users. It would appear that your database was damaged with the forced shutdown. If you have a recent backup you could restore that. Otherwise you will likely need database repair.
01-09-2014 08:08 AM
There was a force shutdown and my suspiction was it is possibly damaged. When I click on any options in ACTDiag I get the unhandled exception. For instance deleting the database:
System.Data.SqlClient.SqlException: Database 'EP_ACT' is already open and can only have one user at a time.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
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)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
at ActDiag.DatabaseCollection.ؽ(Object Ӭ, EventArgs ӭ)
at ActDiag.FormACTDiag.մ(Object Ӭ, EventArgs ӭ)
at System.Windows.Forms.MenuItem.OnClick(EventArgs e)
at System.Windows.Forms.Command.DispatchID(Int32 id)
at System.Windows.Forms.Control.WmCommand(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
So is restoring a backup my only option?
01-09-2014 08:10 AM
That or contacting a database repair service such as our's.