[AccessD] MDB to SQL Server

Jurgen Welz jwelz at hotmail.com
Wed Feb 21 20:18:09 CST 2007


Dan:

>1) SQL Server 2005 Express has a 2G storage capacity, and is free.

I don't think money is an object here.  Head office has SQL Server and 
licences.  All my users run their accounting and equipment applications and 
my project management and costing software.  They do a significant amount of 
double entry.  I'd prefer to integrate with their systems but so far, I've 
been refused any rights or access.  Presumably I could run a full blown SQL 
Server BE separate and apart from what they do.

>2) You can protect your production BE data file using Windows folder
>permissions in an interesting and non-intuitive way.  You'll need to get a
>copy of the book by Garry Robinson on Real World MS Access Security, and
>read through Chapter 12.  This prevents regular users from opening the
>folder, but allows them to use a FE that connects to a BE in that folder.  
>I
>use this at two customers, and it works well.

This would help monitor the copying of the open BE provided that is the 
primary remaining cause of corruption.  A very useful tip.

>3) It sounds as though you have 10 years' data accumulated into one BE 
>file.
>Is there a possibility that some of the data could be moved to an archive 
>BE
>file?

This is an option I am entertaining.

>4) For speedier performance, several people have suggested creating a
>connection to the BE from the FE when first opening a database.  Keeping 
>the
>connection open can improve performance because the overhead associated 
>with
>opening and closing many connections (recordsets, queries, bound forms,
>etc.) can be avoided.  However, there is a registry key which defines a
>time-out period for an inactive connection to Jet - the default value is 10
>minutes.

I have a function like CurrentDb that maintains a static object variable 
connected to the BE and only refreshes when necessary.  I first wrote about 
relinking performance when maintaining an open connection about 7 years ago 
at this list and have used the technique ever since.

>5) Why are you getting complaints about your system which is faster?
>Because everyone knows that complaining to the corporate parent is useless,
>but when they ask you to do something, you respond!  :-)

The simple fact is that my users were spoiled with a system that was many 
times faster and the performance has deteriorated with the passage of time.  
I could display less data and split out more tabs and do a bit more Just In 
Time data retrieval.  The system essentially retrieves only one record upon 
navigation of the primary forms, but sub forms may have up to a couple 
hundred related records.  However, many of the subforms have records based 
on  relatively large tables that can not be diminished in size and this 
appears to be the greatest slowdown.  The truth is, there are few tables 
with more than 10,000 records, it's just that there are well over 150 tables 
and I'm pulling data from many of them for each form.

Ultimately, the question is, can I go up to 70 or so users in the next five 
years with a database that was originally designed to support a half dozen 
with a much smaller data file.  I can certainly play with upsizing, but I 
suspect that, given the relatively small size of the tables (from a SQL 
Server perspective), I'm not going to get a performance increase.  It would 
probably allow me to normalize further than I have heretofore and I should 
get better security and robustness.

Ciao
Jürgen Welz
Edmonton, Alberta
jwelz at hotmail.com

_________________________________________________________________
http://local.live.com/default.aspx?v=2&cp=43.658648~-79.383962&style=r&lvl=15&tilt=-90&dir=0&alt=-1000&scene=3702663&cid=7ABE80D1746919B4!1329




More information about the AccessD mailing list