Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Database Growing Rapidly - Event Viewer UnavailableDatabase Growing Rapidly - Event Viewer Unavailable
Previous
 
Next
New Post
3/24/2008 1:00 PM
 

I noticed my database was growing rapidly without a cooresponding spike in site activity.  It was 200MB just a month ago and now it is approaching 1GB.

Upon investigating I noticed that the event viewer is now unavailable.  Here is the error message:

Error: Event Viewer is currently unavailable.
DotNetNuke.Services.Exceptions.ModuleLoadException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. 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.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, String spName, Object[] parameterValues) at DotNetNuke.Services.Log.EventLog.DBLoggingProvider.Data.SqlDataProvider.PurgeLog() at DotNetNuke.Services.Log.EventLog.DBLoggingProvider.DBLoggingProvider.PurgeLogBuffer() at DotNetNuke.Services.Log.EventLog.LogController.PurgeLogBuffer() at DotNetNuke.Modules.Admin.Log.LogViewer.Page_Load(Object sender, EventArgs e) --- End of inner exception stack trace ---

Anybody have any ideas on what could be wrong and how to fix it?  Using version 4.5.5 on Windows 2000 server & SQL Express 2005.

 
New Post
3/24/2008 5:50 PM
 

Hi Mark,

I just dealt with this today - specifcially, the dbo.EventLog table to too large to retrieve before a SQL timeout occurs, this is what is causing the error you see above.

If you have access to the database directly, you can run a query directly on the database like this:
SELECT TOP 10 * FROM dbo.EventLog ORDER BY LogCreateDate DESC
You can then copy the 'LogProperties' column and paste it into any XML editor of your choice to analyize the errors you are getting.

The other thing you can do (if you're OK with loosing past EventLog entries) is either get rid of the event messages older than say, one month like so:
DELETE FROM dbo.EventLog WHERE LogCreateDate < '3/1/08'
or just truncate the whole EventLog completely like this:
TRUNCATE TABLE dbo.EventLog
Caution: This wipes out all your event log messages!

Then it shouldn't take long to get some messages into the event log that you can view using the Admin menu. In my case, the Google crawl somehow got ahold of a URL sequence that caused an error in a custom library, which caused a Module load error, which seemed to also cause a Page Load error. I ended up having to shut of all logging for now until I can get the custom library fixed.

Hope this helps,
- Dave

 
New Post
3/25/2008 2:15 PM
 

Thank you David and all of the other posters in the other similar threads I searched.  I finally got it resolved.  This was such a rookie issue I'm almost embarrassed to explain it but hopefully someone else can learn from it.

I had tried all of the TRUNCATE TABLE and DBCC SHRINKDATABASE commands I could find and while they all executed without error they did not make any difference in the size of the database.  It wasn't until I came across Mitchel Sellers blog entry on "Determining SQL Server Table Size" that I finally had the Aha moment I needed.  After running his script, which worked perfectly, I was finally able to see all of the table names and sizes and there I realized I had setup the table names with the predecessor "dnn_".  I think I read that somewhere in the manuals when I was first playing with DotNetNuke to use that modifier for all of the DNN tables.  I cannot even find that setting now when looking at the database in SQL Mgmt Studio Express.  Needless to say at the time I did not realize the ramifications of that decision.

So now after being able to properly specify the correct table name to truncate, the shrinkdatabase was able to work it's magic and my database is down to 60MB.

Thank you all again for your help both directly and indirectly.

 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Database Growing Rapidly - Event Viewer UnavailableDatabase Growing Rapidly - Event Viewer Unavailable


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out