David Lewis
DavidL at sierranevada.com
Fri Oct 6 09:55:52 CDT 2006
Steve: I agree with John. You have a decent start on the estimating, but in my experience (I've done similar sized projects) each of those taskes will 1) take far longer to implement, and more importantly 2) take a very substantial block of time to plan. I found that the preparation and planning took far more time than the implementation, actually. For example, designing indexes and performance tuning queries and sp's is no quick matter. It sounds as if the access app sort of grew organically. If this is the case, you have a good opportunity to give it some structure, but that is a very large job. If you approach the project as a series of pieces that need to be made to run on an sql server platform, the project may go quicker but you will be left with a maintenance nightmare -- too much of the code and logic and design philosophy will reside in the head(s) of one or a few developers. Good job security for them, bad for the company. Another thing to give consideration to is how you will keep data in sync. You will begin the transition to sql server, and in that time of several weeks presumably the access app will still run. The initial upload of all the data is a chore in itself, and it will be duplicated again when you have to bring in the final few weeks or so of data. The sequence of these imports will be important if you have referential integrity turned on. If not, and you allow identity inserts (assuming you are using autonumber id's), there are almost guaranteed to be clean-up issues. Well, it brings back memories... Enjoy the ride. D. Lewis ------------------------------ Message: 2 Date: Thu, 5 Oct 2006 16:56:01 -0500 From: "Steve Capistrant" <scapistrant at symphonyinfo.com> Subject: [dba-SQLServer] Access BE to SQL To: <dba-sqlserver at databaseadvisors.com> Message-ID: <02F5B8F3D893A845A3DF342F14D80F0103A478 at LAKATOS.Symphony.local> Content-Type: text/plain; charset="iso-8859-1" Well, looks like I'm going to be hanging out in this group a little more. My team is about to migrate an Acc/Acc (AccessFE over AccessBE) application to Acc/SQL (AccessFE to SQL Server). I'm sure this topic has been well discussed, but could I please as for some starter tips and feedback? Also, I am considering hiring out some or all of this to someone who's done it a few times, so let me know if you are interested. The Acc/Acc app is a mature 6 year old system sold commercially, but getting unwieldy in size, speed, and corruptability. Long term plan is VB.NET over SQL. Short term (1 year) is to just get the BE in place, and rewire the FE. Pushing heavy queries to the BE are expected to go a long way in improving performance, buying us time to migrate the FE later. The application has 332 tables, 940 saved queries, 239 queries dynamically defined in code, 282 reports, 119 code modules, 899 recordset manipulations, and over 25,000 lines of code. FE is 27 meg (in MDE format) and growing. Here's the essential task list as we see it (lacking experience), including an estimate of time: 1. Migrate Data to SQL. Resetting of autonumbers, referential integrity, some indexes. 332 instances @ 10 minutes = 55 hours 2. Convert queries to views. Convert high-impact queries into Views and Stored Procedures. For each of those migrated queries, redesign filtering code to pass parameters back to SQL Server. 1451 instances @ 15 minutes = 362.75 hours. Limiting to high impact queries: 300 instances @ 15 minutes = 75 hours. 3. NewID modification. Adjust the programming code in all places where a new record is created and the resulting unique ID is captured. Access and SQL behave differently - Access allows capture before posting, SQL does not. 66 instances @ 15 minutes = 16.5 hours. 4. Boolean field modification. Access and SQL both support a Boolean data type SQL allows a null option whereas Access does not. All default Boolean settings in the app must be reviewed and changed as necessary to account for this difference. 664 instances @ 5 minutes = 55 hours. 5. Paging on List Views. Currently, all list views (on forms) are structured to allow display unlimited number of records (often returning hundreds of thousands of records). To minimize the traffic hit, we want to reengineer few of the biggest ones to implement paged subsets (e.g., 100 at a time). 15 major list views @ 2.5 hours each = 37.5 hours. Targeting high impact only: 5 lists@ 2.5 hours = 12.5 hours. ------- How's that look? Missing things? Over/underestimating time? Thank you in advance. Steve Capistrant Symphony Information Services scapistrant at symphonyinfo.com www.symphonyinfo.com Main: 763-391-7400 ext 801 Toll Free: 888-357-1373 ext 801 Direct: 612-237-0075