I am working on a system that uses Access 2002 to provide a front-end to a SQL Server 2000 database via ODBC linked tables. The system started life as an Access database and has been moved to SQL Server using the Upsizing Wizard. I have been gradually moving logic from the Access VBA to SQL Server stored procedures, UDFs, triggers etc., thus moving some of the strain from the client to the server.
We have noticed that the system tends to slow down through the day and looking at the activity on SQL Server I can see a number of NETWORKIO waits. Tracing this back, I can see that these are caused by certain forms in the system, with the Wait starting when the form is opened and continuing until the form is closed. Closing and re-opening the forms seems to speed up the system for a while.
The nature of the system is such that users tend to keep forms open for a large part of the day. And the users are reluctant for me even to put timeouts in the forms to close them after periods of inactivity.
Not all forms cause this problem and I have tried to compare good forms to bad ones to see whether there is a way of preventing these Waits. I have also tried creating new forms based on the same tables and I get the same problem, so it is probably more to do with the tables themselves rather than the forms.
Has anybody else experienced this behaviour, and is there anything that I should be looking for in the tables (or indeed the forms) that could cause these Waits?