Dan Waters
dwaters at usinternet.com
Mon Dec 15 13:32:27 CST 2008
Hi Don, I would say to try being explicit about closing recordsets - sounds like a relatively easy change. For my BE files, I set up auto-compacting. 1) In the BE options, set it to Compact on Close. 2) Create a small database which does two things - it opens the BE and immediately closes it. 3) Create a Scheduled Task which opens the database you created in 2) at a time when everyone is logged out of the BE file. Good Luck! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of McGillivray, Don [IT] Sent: Monday, December 15, 2008 11:26 AM To: Access Developers discussion and problem solving Subject: [AccessD] Back end bloat Hello Folks I don't know if this is an unexpected problem or not, but the back end DB for an application of mine has been bloating big time, and rather rapidly. It's Access 2003 running on a Win 2000 server, served to my users via Windows remote desktop. So far, I've just been dealing with it by compacting the backend now and then, but I'd like to understand what is going on so that I might fix the underlying problem. When compacted this thing is around 150 Mb, and when it grows to 1.5 Gb or so, I compact it again. Sometimes it bloats to 1.5 Gb within a day or two, and sometimes it takes 2 or 3 weeks. When this app needs to load and remove data, it's done with tables in a temporary back end that is killed and recreated from a template as needed. In the back end, all but two of the tables only get data added to them, and the two that sometimes have records removed do so at a rate of < 200 records a week for both tables combined. These tables have about 8 fields each. Don't know whether it makes a difference, but the app uses very few stored queries to perform its data additions. Most of of the records are added using SQL built on the fly and executed using db.Execute. Also, I've read elsewhere that failure to close recordsets and kill object variables can cause a DB to bloat, but it wasn't clear from the description whether that would be expected in a back end or the front end. (There's no code in the back end.) I've been very careful about killing object variables in my code, but less so about closing recordsets before killing them. Before I go looking for every instance of a recorset not being closed, can anybody help me to understand whether that may be part of the problem? Any leads toward the solution will be greatly apprreciated. Thanks! Don McGillivray This e-mail may contain Sprint Nextel Company proprietary information intended for the sole use of the recipient(s). Any use by others is prohibited. If you are not the intended recipient, please contact the sender and delete all copies of the message. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com