Lots of things open and close – doors, shops, windows, mouths, apps, free schools, etc. The “open” state is good for use, travel, ventilation, communication, education, aspiration and operation. The “closed” state is good for silence, darkness, stasis and rest. “Closed” is good only when the recovery it permits is necessary for “open” to be good.
These days everything that can be opened is made to close itself again automatically. Doors have heavy weighted thingies so they can smack you in the mouth, apps close themselves when they think you have finished using them, and Microsoft SQL Server databases have a setting that makes them close down when all users have disconnected.
One of the web sites I run (www.mynydd-du.org.uk) has been performing terribly for the last two weeks – frequent alerts that the site was down, and terrible page load times. The site is built with mojoPortal CMS, using a SQL Server database. After a lot of frustrating exchanges with the hosting company (Arvixe), who could see nothing wrong, I finally spotted that this “Auto Close” setting was set to True for this site’s database, and False for all my others. My account didn’t have permissions to change this setting so I’ve no idea how it got like this, but that’s how it was. I explained this to Arvixe, and waited… eventually they made the change, after I went to their main quality assurance people - thanks to Joe Audette at mojoPortal for giving me the crucial email address.
Here’s the difference it made, as measured by Uptime Robot:
The setting was changed at about 03:40, and apart from one bad reading the average response immediately time changed from about 8 seconds to about 0.5. And in the time since, I’ve only had one alert of the site being down, instead of LOTS in every preceding period.
So the moral of the story is… in SQL Server databases always set Auto Close to False, and in general, don’t trust anything that closes itself automatically.