I have several MS Access queries (in views and stored procedures) that I am converting to SQL Server 2000 (T-SQL). Due to Access’s limitations regarding sub-queries, and or the limitations of the original developer, many views have been created that function only as sub-queries for other views.
I don’t have a clear business requirements spec, except to ‘do what the Access application does’, and half a page of notes on reports/CSV extracts, but the Access application doesn’t even do what I suspect is required properly.
I, therefore, have to take a bottom up approach, and ‘copy’ the Access DB to T-SQL, where I would normally have a better understanding of requirements and take a top down approach, creating new queries to satisfy well defined requirements.
Is there a method I can follow in doing this? Do I spread it all out and spend a few days ‘grokking’ it, or do I continue just copying the Access views and adopt an evolutionary approach to optimising the querying?
Work out what access does with the queries, and then use this knowledge to check that you’ve transferred it properly. Only once you’ve done this can you think about refactoring. I’d start with slow queries and then go from there: work out what indexes you need and then progressively rewrite. This way you can deliver as soon as you’ve proved that you moved everything successfully (even if it is potentially a bit slower). That’s much better than not being able to deliver at all because problem X came along.