Tuesday, 31 July 2007

Reporting services General network error has occured (Helpful) rsInternalError

Problem
If you run MS Reporting Services 2000 you may find that when running large reports you get one of the following messages:

"A general error occurred"
"An internal error occurred" - rsInternalError

When you check the SQL Server logs you'll see that an out of memory execption was thrown. normally with a "Error: 17803, Severity: 20, State: 12"

Now on our server we still had plenty of physical memory left, especially after applying the exchange fix below. But this error still happens, so why? or rather "how the heck do I fix this so users can access that report again?"

Continue after the break for the solution

Wednesday, 25 July 2007

MS Exchange uses all my memory up!

MS Exchange is designed by default o use as much memory as it can, and then free it up if other processes need it. This is fine in principle, but if your exchange server happens to be a Small Business Server (SBS) then it is far from perfect. This is because freeing up that memory takes CPU time.

Problem- We run Windows SBS 2000 for our main server it performs the following roles:
  • File server
  • Web server
  • Exhange server
  • SQL server
  • Active directory
  • Shared fax service
  • etc
Now every night our backup solution accesses the exchange server to backup everyones contacts, emails, calendars etc. Now doing this is a good thing however it means that exchange has all its database loaded through memory and keeps as much of it as possible in RAM. unfortunatly there are two problems here:
  1. It causes exchange to rob over 1Gb of RAM that it is reluctant to give up
  2. The cache it holds is rubbish as the most recently accessed data is the last mail box or two to be backed up, not the most current items in each users inbox.
Solution - reduce the amount of RAM exchange uses by flushing the cache after the backup.
This simple script does the job just fine on SBS 2000 and leaves exchange using less than 100mb

net stop MSExchangeMTA
net stop MSExchangeIS
net stop MSExchangeSA
net start MSExchangeSA
net start MSExchangeIS
net start MSExchangeMTA

First post - why?

Why run a blog?

Well being an IT manager who spends a great deal of time searching Google for solutions to various IT based problems I thought it was time I fed back some of my random solutions to the problems that occur everyday in my IT work. Simple.

These maybe software, hardware, coding, scripting. And could either be fixes or shortcuts and useful tricks I have found.

I dont expect anyone to follow this blog, more stumble across it via Google and other web searches. I hope they find the answers they seek here, sometimes just knowing someone else has the problem is helpful.