Sie sind auf Seite 1von 22

When to Migrate from Microsoft Access to Microsoft SQL Server

SQL Server Technical Article

Writers: Luke Chung and Dan Haught

Published: February 2005 Applies To: !L er"er 2000 er"i#e Pa#k $a

Summary: This paper e%plores the issues related to upsi&ing 'i#roso(t) A##ess appli#ations to take ad"antage o( the per(or*an#e+ se#urity+ and reliability o( 'i#roso(t !L er"er,-

Filena*e: 222./0021-do#

Copyright
The in(or*ation #ontained in this do#u*ent represents the #urrent "ie2 o( 'i#roso(t Corporation on the issues dis#ussed as o( the date o( publi#ation- 3e#ause 'i#roso(t *ust respond to #hanging *arket #onditions+ it should not be interpreted to be a #o**it*ent on the part o( 'i#roso(t+ and 'i#roso(t #annot guarantee the a##ura#y o( any in(or*ation presented a(ter the date o( publi#ation-

This White Paper is (or in(or*ational purposes only- '4C56 6FT 'A78 4'PL48D 65 TAT;T65<+ A T6 TH8 49F65'AT469 49 TH4

96 WA55A9T48 + 8:P58

D6C;'89T-

Co*plying 2ith all appli#able #opyright la2s is the responsibility o( the user- Without li*iting the rights under #opyright+ no part o( this do#u*ent *ay be reprodu#ed+ stored in or introdu#ed into a retrie"al syste*+ or trans*itted in any (or* or by any *eans =ele#troni#+ *e#hani#al+ photo#opying+ re#ording+ or other2ise>+ or (or any purpose+ 2ithout the e%press 2ritten per*ission o( 'i#roso(t Corporation-

'i#roso(t *ay ha"e patents+ patent appli#ations+ trade*arks+ #opyrights+ or other intelle#tual property rights #o"ering sub?e#t *atter in this do#u*ent- 8%#ept as e%pressly pro"ided in any 2ritten li#ense agree*ent (ro* 'i#roso(t+ the (urnishing o( this do#u*ent does not gi"e you any li#ense to these patents+ trade*arks+ #opyrights+ or other intelle#tual property-

;nless other2ise noted+ the e%a*ple #o*panies+ organi&ations+ produ#ts+ do*ain na*es+ e@*ail addresses+ logos+ people+ pla#es and e"ents depi#ted herein are (i#titious+ and no asso#iation 2ith any real #o*pany+ organi&ation+ produ#t+ do*ain na*e+ e@*ail address+ logo+ person+ pla#e or e"ent is intended or should be in(erred-

2001 'i#roso(t Corporation- All rights reser"ed-

'i#roso(t is either a registered trade*arks or trade*arks o( 'i#roso(t Corporation in the ;nited other #ountries-

tates andAor

The na*es o( a#tual #o*panies and produ#ts *entioned herein *ay be the trade*arks o( their respe#ti"e o2ners-

Contents
When to Migrate from Microsoft Access to Microsoft SQL Server......................1 Executive Summary...........................................................................................1 The Value of Access in our !rgani"ation.........................................................1 A##ro#riate Access $sage: %uil&ing the 'ight 'elationshi# %et(een Teams an& )T * A##ess and the Bet 8ngine--------------------------------------------------------------------------------$ A##ess and !L er"er: a !ui#k Co*parison------------------------------------------------------$ ingle ;ser-------------------------------------------------------------------------------1 !L !L er"er-----------------------------------------------------------------------------5 er"er Without Bet-----------------------------------------------------------5 To#ology +onfigurations..................................................................................., A##ess and Bet A##ess+ Bet+ and ;sing A##ess and A##ess and Bet 'ultiuser----------------------------------------------------------------------------------1

Ma-ing the .ecision: When to $#si"e................................................................/ Web A##ess----------------------------------------------------------------------------------------------------0 #alability------------------------------------------------------------------------------------------------------0 'a%i*u* Database i&e-----------------------------------------------------------------------------0 9u*ber o( Con#urrent ;sers------------------------------------------------------------------------/ Ar#hite#tural 4ssues------------------------------------------------------------------------------------/ 5eliability and A"ailability---------------------------------------------------------------------------------/ Database Corruption-----------------------------------------------------------------------------------/ 3a#kup and 'aintenan#e-----------------------------------------------------------------------------C Di((erent Dersions o( A##ess and Bet--------------------------------------------------------------C e#urity---------------------------------------------------------------------------------------------------------C A##ess Appli#ation Li*itations-------------------------------------------------------------------------E0 'o"ing A2ay (ro* A##ess-------------------------------------------------------------------------------E0 $#si"ing Scenarios..........................................................................................10 #enario E: Already 5ight@ i&ed----------------------------------------------------------------------EE #enario 2: ;psi&e Data 6nly--------------------------------------------------------------------------EE #enario $: ;psi&e Appli#ation and Data ;sing A##ess----------------------------------------E2 #enario 1: ;psi&e Appli#ation and Data ;sing 'i#roso(t -98T Te#hnologies----------E$ 1lanning an $#si"ing 1ro2ect...........................................................................13 Taking 4n"entory o( A##ess Databases in <our 6rgani&ation--------------------------------E1 Phase E: Design and Planning-------------------------------------------------------------------------E1 Choose <our ;psi&ing 4denti(y a !L #enario-------------------------------------------------------------------E1 er"er 4nstallation---------------------------------------------------------------E1

Ad*inistration------------------------------------------------------------------------------------------E5 De"elop*ent Plan-------------------------------------------------------------------------------------E5 8"aluate the 'i#roso(t ;psi&ing Wi&ard--------------------------------------------------------E5

Phase 2: 4*ple*entation-------------------------------------------------------------------------------E. Con(igure !L er"er--------------------------------------------------------------------------------E. De"elop*ent-------------------------------------------------------------------------------------------E. Testing----------------------------------------------------------------------------------------------------E. Do#u*entation-----------------------------------------------------------------------------------------E. Training---------------------------------------------------------------------------------------------------E0 5ollout----------------------------------------------------------------------------------------------------E0 Phase $: tabili&ation-------------------------------------------------------------------------------------E0 +onclusion.......................................................................................................14 5e#o**ended 5eading----------------------------------------------------------------------------------E/

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

Executive Summary
This paper e%plores the issues related to upsi&ing 'i#roso(t) A##ess appli#ations to take ad"antage o( the per(or*an#e+ se#urity+ and reliability o( 'i#roso(t !L er"er,Topi#s dis#ussed in#lude: The Value of Access in our !rgani"ation. A brie( dis#ussion o( ho2 A##ess pro"ides po2er and agility to an organi&ationFs usersAccess an& SQL .ata Architectures. A dis#ussion o( the type o( data ar#hite#tures that A##ess supportsMa-ing the .ecision: When to $#si"e. An e"aluation o( the #riteria to de#ide 2hether an appli#ation has outgro2n the #apabilities o( A##ess$#si"ing Scenarios. An o"er"ie2 o( the approa#hes to upsi&ing+ and ho2 to deter*ine 2hi#h one is best (or you1lanning an $#si"ing 1ro2ect. An outline o( 2hat to plan (or+ to ensure a su##ess(ul pro?e#t-

The Value of Access in

our !rgani"ation

4nadeGuate or outdated data leads to poor de#isions- <et *any in(or*ation 2orkers *ust e((e#ti"ely use an in#reasing a*ount o( data in order to (ul(ill their roles4n(or*ation a##u*ulates on desktops+ (ile shares+ Web sites+ and 2ithin 4T *anaged depart*ental and enterprise appli#ations- 4T pro(essionals are #hallenged 2ith ho2 to *anage data (ro* disparate syste*s- As in(or*ation 2orkers try to use this in(or*ation+ ?usti(iable (ri#tion *ay de"elop as they atte*pt to *ake better use o( in(or*ation to *ake de#isions 2hile 4T depart*ents 2ork to *anage se#urity+ reliability+ and s#alability on tighter budgets- The o"erall #hallenge (or the organi&ation is ho2 to best e*po2er in(or*ation 2orkers 2hile *eeting o"erall organi&ational needs'i#roso(t A##ess targets indi"idual in(or*ation 2orkers and s*all tea*s that use the 'i#roso(t 6((i#e yste* to tra#k+ *anage+ prioriti&e+ and a#t upon the in#reasing "olu*e o( business in(or*ation- 4ts (a*iliar 6((i#e en"iron*ent enables 2orkers to Gui#kly build e((e#ti"e appli#ations 2ithout reGuiring the skills o( a pro(essional de"eloper- 4n(or*ation 2orkers appre#iate ho2 easy it is to #reate appli#ations that tra#k issues+ #onta#ts+ assets+ e"ents+ pro?e#ts+ and other #o**on types o( tea* in(or*ation tra#king needs- i*ple+ (ast+ e((e#ti"e in(or*ation tra#king is a nearly ubiGuitous need (or tea*s o( in(or*ation 2orkers+ and *u#h o( this in(or*ation is di((erent and *ore lo#al to that tea*Hs needs than the in(or*ation #ontained in the organi&ationHs line o( business appli#ations- The in(or*ation tra#ked *ay be ad@ho# and te*porary+ (or a single li*ited pro?e#t+ or it *ay be used by a tea* on an ongoing basis- The design goal (or 'i#roso(t A##ess is to *eet the need (or si*ple+ e((e#ti"e in(or*ation tra#king by end@users- 4T organi&ations should 2ork 2ith tea*s to understand 2hat tra#king needs are appropriately *et by lo#al A##ess usage+ and 2hi#h are *ore appropriately *et by *ore sophisti#ated 4T@dri"en appli#ationsAlong 2ith building tra#king appli#ations+ in(or*ation 2orkers so*eti*es tra#k data that is related to data in another syste*- To *ake in(or*ed business de#isions+ they o(ten #o*bine the data and #reate reports that illustrate trends- The light2eight ad@ho# Guery and reporting (un#tionality in A##ess enables in(or*ation 2orkers to get needed in(or*ation in line@o(@business syste*s 2ithout burdening the 4T organi&ationE

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

4n(or*ation 2orkers use the (riendly Guery and report 2i&ards to ?oin heterogeneous data to i*pro"e de#ision *aking by using a##urate and up@to@date in(or*ationTo *eet the needs o( in(or*ation 2orkers+ 'i#roso(t plans to #ontinue to *ake de"elop*ent in"est*ents in A##ess that 2ill yield i*pro"ed ease o( use and #loser integration 2ith the 6((i#e yste* and espe#ially as a great #o*panion tool to use 2ith Windo2s harePoint er"i#es- harePoint pro"ides tea*s 2ith the ability to #reate lists o( in(or*ation that are readily a##essed and shared in the portal- harePoint pro"ides storage and easy a##ess- 'i#roso(t A##ess pro"ides ri#h (or*s and reports (or these lists- 4n(or*ation 2orkers #an use 'i#roso(t A##ess 200$ to build (or*s and reports on tea* data through a Web ser"i#es #onne#tion to lists in Windo2s harePoint er"i#esThe ne%t "ersion o( 'i#roso(t A##ess 2ill build on this de"elop*ent 2ork to *ake it easier than e"er to #reate e((e#ti"e tea* tra#king appli#ations that pro"ide in(or*ation 2orkers 2ith ne2 #ollaboration (eatures- 3y en#ouraging the storage o( in(or*ation on harePoint+ 4T also is able to better *anage+ ad*inister+ and ba#k@up the tra#ked in(or*ation-

A##ro#riate Access $sage: %uil&ing the 'ight 'elationshi# %et(een Teams an& )T
'ost A##ess appli#ations are #reated and used 2ithout any 4T in"ol"e*ent- 'i#roso(t esti*ates that C0 per#ent o( all A##ess databases are used on a ti*e@li*ited basis or #ontinue to e%ist as an indi"idual or s*all tea* appli#ation- This is appropriate in *ost #ases+ but in a s*all per#entage o( #ases it 2ould be *ore appropriate (or 4T to #reate a *ore sophisti#ated appli#ationConsider the (ollo2ing s#enario+ 2hi#h illustrates the need (or good planning bet2een a tea* and 4T to deter*ine the right usage plan- An in(or*ation 2orker needs to #reate a s*all appli#ation to *eet a ne2 business need- When #onsulted+ the 4T *anager tells the in(or*ation 2orker the pro?e#t 2ill take three *onths and I50+000 to #reate the solution using pro(essional de"elop*ent tools+ and 2ill be hard to s#hedule gi"en the #urrent de*ands on the 4T depart*ent- The in(or*ation 2orker is under a deadline and #annot 2ait that long+ and does not ha"e the budget to pay (or the pro(essional de"elop*ent- he builds the appli#ation in a 2eek using A##ess and is able to e((e#ti"ely *eet the i**ediate business need+ 2hi#h her *anager praises her (or- Co@ 2orkers are inspired by the ne2 appli#ation and *ake reGuests to tra#k additional in(or*ation and pro"ide *odi(ied reports- 3e#ause the appli#ation ans2ers su#h #riti#al business de#isions+ *ore and *ore people start using it- 6"er ti*e the business need that inspired this appli#ation gro2s in i*portan#e to the #o*pany- Proble*s arise 2hen the in(or*ation 2orker (inds that the appli#ation gro2s beyond her s*all tea* and be#o*es a depart*ental appli#ation no2 used by a *u#h larger nu*ber o( people+ and has be#o*e #riti#al (or the operational e((e#ti"eness o( the depart*ent- As the nu*ber o( users in#reases+ the net2ork tra((i# in#reases and the per(or*an#e o( the appli#ation de#reases- Then+ the sole #reator o( the appli#ation a##epts a ne2 ?ob in another di"ision+ at 2hi#h point the *anager #alls 4T (or help in updating and *aintaining the appli#ation- The appli#ation that 2as designed (or an indi"idual or s*all tea* has outgro2n its original design- This s#enario illustrates a #hallenge that in(or*ation 2orkers and 4T organi&ations #an (a#e 2hen the usage o( an appli#ation gro2 (ar beyond its original intentWith an Jo"ergro2nK A##ess appli#ation+ su#h as the one (ro* this e%a*ple+ 4T is o(ten asked to help address the groups needs- 4n re"ie2ing the appli#ation+ an 4T *anager
2

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

*ay (ind that the in(or*ation 2orker did a poor ?ob designing the s#he*a @@ nu*bers and dates are stored as te%t and the data is not appropriately nor*ali&ed- Also+ the appli#ation design #ould use i*pro"e*ents+ as (or*s and reports that pull all the data do2n lo#ally #ause net2ork tra((i# o"erload- The 4T *anager is (rustrated be#ause he no2 has an une%pe#ted ne2 appli#ation to deal 2ith+ and *ust *ake signi(i#ant i*pro"e*ents or *igrate the appli#ation to #ore in(rastru#ture plat(or*s su#h as 'i#roso(t !L er"er+ 2hi#h translates to the in(or*ation 2orkers as additional ti*e and e%pense4n(or*ation 2orkers and 4T organi&ations #an a"oid the (rustrations o( an o"ergro2n A##ess appli#ation- For appli#ations that *ight e%pand into the depart*ent or a#ross the enterprise+ 'i#roso(t re#o**ends that in(or*ation 2orkers #ollaborate early during the de"elop*ent phase to head o(( (uture proble*s+ espe#ially on s#he*a design- 4( needed+ the data #an be easily *o"ed at a later date- Additionally+ the *igration to !L er"er is signi(i#antly easier i( an 4T pro(essional ensures that data typing is done #orre#tly+ the data is properly nor*ali&ed+ and that base Gueries enable the in(or*ation 2orker to #reate the right reports-

Access an& the 5et Engine


A##ess has its o2n database engineLthe 'i#roso(t Bet database engine- Bet is designed as a (ile share database that supports single and *ultiuser database appli#ations 2ith databases up to 2 gigabytes =M3> in si&eA##ess is *ore than a database engine- 4t is a de"elop*ent en"iron*ent that allo2s users to design Gueries+ #reate (or*s and reports+ and 2rite *a#ros and Disual 3asi# #ode to auto*ate the o"erall appli#ation- 4n its de(ault #on(iguration+ A##ess uses Bet internally to store its design ob?e#ts su#h as (or*s+ reports+ *a#ros+ and #ode+ and also uses Bet to store all table data6ne o( the key bene(its o( A##ess 2hen upsi&ing is that you #an redesign your appli#ation to #ontinue to use the (or*s+ reports+ *a#ros+ and #ode you ha"e already designed in A##ess+ and repla#e the Bet engine 2ith !L er"er (or your data storageThis allo2s the ease o( use o( A##ess+ 2ith the reliability and se#urity o( !L er"er-

Access an& SQL Server: a Quic- +om#arison


To understand the de#ision points in the upsi&ing de#ision pro#ess+ #onsider the (ollo2ing 'i#roso(t re#o**endations on appropriate usage on A##ess #o*pared to er"er: Access Des#ription Database de"elop*ent en"iron*ent that supports tables+ Gueries+ (or*s+ reports+ and progra**ing logi#2 gigabytes =M3> ;p to 20 #on#urrent editors;p to E00 #on#urrent SQL Server #alable+ reliable+ and *ore se#ure #lientAser"er database engine!L

'a%i*u* database si&e 'a%i*u* #on#urrent users

E terabyte ;nli*ited

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

reports being rune#urity Per(or*an#e 5eliability File a##ess@based se#urityLi*ited by (ile share *odelAdeGuate (or indi"iduals and s*all tea* usage5e#o"ery (ro* net2ork (ailures #annot be rolled ba#k8nterprise@le"el se#urityLi*ited only by hard2are and appli#ation designHigh reliability- !L is a *ission@#riti#al databaseer"er

3a#kup and ad*inistration tools a"ailable-

'i#roso(t a#kno2ledges that *any #usto*ers e%#eed the J*a%i*u* #on#urrent usersK guidelines gi"en abo"e- The Bet engine supports up to 255 #on#urrent users but the per(or*an#e o( the appli#ation depends on the design o( the appli#ation- Pro#eed 2ith #aution i( your appli#ation e%#eeds the re#o**ended guidelines sho2n abo"e-

To#ology +onfigurations
There are a nu*ber o( di((erent topology #on(igurations that le"erage the po2er o( A##ess and !L er"er-

Access an& 5et Single $ser


4n its de(ault #on(iguration+ A##ess uses the 'i#roso(t Bet database engine to store both ob?e#t de(initions and table data- A##ess and Bet are run on the userFs #o*puter+ and the database is stored on a lo#al hard disk+ as sho2n in the (ollo2ing (igure-

Access an& 5et Multiuser


A##ess and the Bet engine allo2 *ultiuser a##ess- 4n this s#enario+ ea#h user runs a lo#al #opy o( A##ess and Bet+ and points to a shared database on a net2ork dri"e+ as sho2n in the (ollo2ing (igure-

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

Access6 5et6 an& SQL Server


A##ess also allo2s you to point to !L er"er (or your data storage- 4n this s#enario+ A##ess still uses Bet to run Gueries+ store ob?e#t de(initions+ *anage te*porary tables+ and hold se#urity settings- Ho2e"er+ all table data is stored in !L er"er+ as sho2n in the (ollo2ing (igure-

$sing Access an& SQL Server Without 5et


A##ess data pro?e#ts =adp> introdu#ed in A##ess 2000 are (ront@end appli#ations that bypass the Bet engine- A##ess 2000 and later "ersions ha"e the #apability to dire#tly #onne#t to !L er"er 2ithout the need (or the Bet engine+ as sho2n in the (ollo2ing (igure-

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

Ma-ing the .ecision: When to $#si"e


9o2 that you ha"e re"ie2ed the "arious ar#hite#tures and database engine options+ you 2ill 2ant to e%plore the de#ision points and para*eters (or *aking the upsi&ing de#isionThe *ost i*portant part in this pro#ess is to re#ogni&e that not all A##ess databases need to be upsi&ed- A *a?ority o( A##ess appli#ations should not be upsi&ed be#ause the #ost and disruption to business is not a #ost@e((e#ti"e use o( resour#es- These databases 2ork on a day@to@day basis+ and do not need attributes su#h as s#alability+ se#urity+ and E00 per#ent reliability- For *ost organi&ations+ only a s*all per#entage o( A##ess databases are #andidates (or upsi&ingAdditionally+ (ro* the list o( #andidates (or upsi&ing+ a *a?ority #an be upsi&ed using a #ost@e((e#ti"e pro#ess 2here only the data is *o"ed to !L er"er- All o( the appli#ationFs (un#tionality in ter*s o( (or*s and reports is kept in A##ess- Also+ only the s*allest per#entage o( upsi&ing pro?e#ts that gro2 to ser"i#e depart*ental and enterprise s#enarios reGuires re2riting the A##ess appli#ation in a ne2 en"iron*ent su#h as -98T- 4n general+ these pro?e#ts ?usti(y the e%pense o( #on"ersion be#ause (eatures beyond the #apabilities o( A##ess are reGuired+ and a business opportunity e%ists- The (ollo2ing (igure sho2s the upsi&ing opportunities-

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

Upsizing Opportunities in a Typical Organization

No upsizing needed

Upsize data

Upsize application and data

The (ollo2ing se#tions e%a*ine ea#h o( the key areas in"ol"ed in database planning+ and dis#uss ho2 A##ess per(or*s in ea#h area-

We7 Access
6ne o( the *ost #o**on reasons (or *igrating A##ess data to !L er"er is the need (or the data to be a"ailable in the bro2ser either through 4nternet or 4ntranet #onne#tions- 7no2ledge 2orkers 2ant to pro"ide #olleagues a##ess to their tra#king in(or*ation+ and o(ten the Web is the *ost a##essible pla#e (or others to (ind that in(or*ation- When the data is *o"ed to !L er"er+ kno2ledge 2orkers #an still #onne#t to it through link tables+ but 4T pro(essionals #an begin to build #usto* A P-98T Web (or*s and !L er"er reports (or parts o( the appli#ation that need broader "isibility inside the organi&ation-

Scala7ility
#alability is de(ined as the #apability o( an appli#ation to operate in an a##eptable *anner as the nu*ber o( users or pro#esses #alling the appli#ation in#reases- A##ess+ 2ith the Bet database engine+ is not a s#alable solution+ and s#alability is o(ten the pri*ary *oti"ation (or upsi&ing-

Maximum .ata7ase Si"e


A##ess #an support up to 2 M3 o( data- Ho2e"er+ in *any #ases+ this li*it is theoreti#al rather than pra#ti#al: A##ess uses the (ile share@based Bet database engine- ;nlike #lientAser"er solutions su#h as 'i#roso(t !L er"er+ (ile share databases are not opti*i&ed (or large datasets- For e%a*ple+ an A##ess Guery that needs to pro"ide a total o( E0+000 orders needs to pull all E0+000 orders a#ross the net2ork+ do the #o*putations lo#ally+ and then pro"ide the total- 4n the #lientAser"er *odel+ the sa*e Guery is handled dire#tly by the ser"er+ and only the result is returned to the #lient appli#ation- With larger database si&es+ the (ile share ar#hite#ture is not #apable o( handling data loadsBet is not designed (or opti*u* or reliable per(or*an#e 2ith large database si&es- A (e2 installations 2ill ha"e data #orruption be#ause o( poor net2ork #onne#ti"ity or in#orre#tly designed appli#ations-

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

8um7er of +oncurrent $sers


'i#roso(t A##ess #an te#hni#ally allo2 255 #onne#tions (or ea#h database- Ho2e"er+ this is a theoreti#al li*it and #annot be attained in an organi&ation- 4n reality+ the nu*ber o( #onne#tions or users that an A##ess database #an support is di#tated by ho2 2ell the appli#ation 2as designed and i*ple*entedFor e%a*ple+ a pro(essionally designed and 2ell@tuned A##ess appli#ation #an support up to 20 #on#urrent users 2ho are updating data 2ith good per(or*an#e- Databases that are used largely (or running read@only reports #an s#ale up to about E00 users;n(ortunately+ (e2 A##ess databases are 2ell@designed and i*ple*ented 2ith best pra#ti#es- This is be#ause *ost A##ess databases are #reated by beginners or po2er users 2ho do not ha"e the e%perien#e or kno2ledge to #reate pro(essional appli#ationsThey are built o"er ti*e+ and ne2 (eatures and data *odels are added as needed- The result is that *any solutions donHt reliably support *ore than a (e2 users-

Architectural )ssues
3e#ause A##ess uses the Bet engine (or database *anage*ent+ it #annot s#ale 2ell by de(inition- Bet is li*ited to run on a single CP;+ 2hereas #lientAser"er solutions su#h as 'i#roso(t !L er"er #an support *ultiple CP;s- Additionally+ Bet Gueries al2ays run on the #lient #o*puter+ 2hi#h eli*inates the #entrali&ed Guery or data opti*i&ation ne#essary (or a s#alable solution-

'elia7ility an& Availa7ility


5eliability is one o( the key ben#h*arks to #onsider 2hen upsi&ing- For *any #riti#al appli#ations+ reliability is the single *ost i*portant #onsideration- This in#ludes a"oiding Bet database #orruption and ha"ing data ba#kups'i#roso(t A##ess is not intended as an inherently reliable solution (or se"eral reasons-

.ata7ase +orru#tion
When 'i#roso(t A##ess databases =using the Bet engine> en#ounter an error or #onne#tion proble*+ the database *ay be#o*e #orrupt- A #orrupt database generally lo#ks out all users o( the database+ and generally results in business disruption and in(reGuent data loss'i#roso(t A##ess databases =using the Bet engine> are sus#eptible to #orruption (or a nu*ber o( reasons- 3e#ause A##ess uses a (ile share *odel+ all users are #on#urrently holding a#ti"e #onne#tions to data- 4( any one o( those users une%pe#tedly loses the #onne#tion during a data update pro#ess+ the database *ay be#o*e #orrupt'i#roso(t A##ess in#ludes a Co*pa#tA5epair tool+ but data #orruption #annot al2ays be (i%ed by this tool- Third@party repair ser"i#es are a"ailable+ but this reGuires sending the a((e#ted database to another lo#ation+ paying a (ee+ and 2aiting (or it to be returned8"en though you e%perien#e A##ess database #orruption+ you *ay not need to *igrate to !L er"er- A##ess databases need to be periodi#ally repaired and #o*pa#ted to *aintain e((i#ien#y+ a"oid #orruption+ and *ini*i&e e%pansion- Databases that are not periodi#ally #o*pa#ted *ay su((er #orruption+ but those 2hi#h are properly *anaged o(ten run reliably- F' o((ers a produ#t+ Total Disual Agent =http:AA222-(*sin#-#o*Aprodu#tsAagentA>+ that lets you s#hedule database #o*pa#tion and ba#kups (or all your A##ess databases a#ross your net2ork+ to ensure they re*ain
/

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

healthy- 'any organi&ations run this on a nightly basis- ;n(ortunately+ databases that run 21 hours a day and se"en days a 2eek do not allo2 Bet to ha"e an e%#lusi"e lo#k to per(or* the #o*pa#tion+ and these situations de*and *o"ing to !L er"er-

%ac-u# an& Maintenance


3e#ause A##ess uses the (ile share *odel+ the entire database is lo#ked at the (ile le"el as soon as the (irst user a##esses it- This *eans that no reliable *e#hanis*s e%ist (or per(or*ing ba#kups o( the database (ile unless all users are dis#onne#ted4n a *ultiuser en"iron*ent+ it is o(ten di((i#ult to #oordinate the pro#ess o( ensuring that all users log o(( an A##ess appli#ation be(ore *aking a ba#kup- Typi#al s#enarios in"ol"e users lea"ing their #o*puters on 2hen they lea"e the o((i#e (or the day- This lea"es the database open+ and ba#kup so(t2are 2ill not be able to reliably #opy the database (ile- 6(ten+ this is only dete#ted a(ter the ba#kup (ails+ lea"ing the syste* ad*inistrator to tra#k do2n the proble* and hope it is resol"ed be(ore the ne%t ba#kup runsAdditionally+ 'i#roso(t A##ess is not sel(@tuning- 4t does not auto*ati#ally re#lai* lost database spa#e+ or opti*i&e inde%es and Gueries- This *aintenan#e #an be per(or*ed by running the Co*pa#tA5epair tool+ but this also reGuires that all users be logged o(( the databaseAdditionally+ *any A##ess databases are stored lo#ally on a userFs #o*puter+ and they are o(ten not in#luded in any type o( ba#kup or *aintenan#e plan-

.ifferent Versions of Access an& 5et


'i#roso(t A##ess has strong dependen#ies on spe#i(i# "ersions o( the Bet engine+ and other related data a##ess #o*ponents- For e%a*ple+ i( you #reate a database 2ith A##ess C0+ it #an be opened 2ith A##ess 2000+ 2hi#h #an #on"ert it to *ake it una"ailable to A##ess C0 users- Additionally+ i( ne2 "ersions o( standard 'i#roso(t data a##ess #o*ponents+ su#h as Data A##ess 6b?e#t =DA6> and A#ti"e:) Data 6b?e#t =AD6> are installed+ they *ay *ake e%isting A##ess appli#ations (ail- This is espe#ially true in *ultiuser situationsThis la#k o( ba#k2ard #o*patibility #an #ause organi&ations to hesitate in upgrading to ne2er "ersions o( 6((i#e+ be#ause a ne2 "ersion o( A##ess #an #ause e%isting A##ess appli#ations to (ailo (ar+ the "ersion issues are (o#used on A##ess at the appli#ation le"el- The sa*e issues arise i( A##ess is the (ront end to a !L er"er ba#k@end database- 4tFs also i*portant to note situations 2here A##ess databases are used by progra*s other than A##ess- 'any Disual 3asi# appli#ations use Bet (or their database storage+ and progra*s 2ritten in CNN *ay also use Bet- 3e(ore *igrating a database (ro* A##ess to !L er"er+ itFs #riti#al to kno2 all the appli#ations that use it-

Security
The *ost reliable *e#hanis* to se#ure A##ess databases is to set 'i#roso(t Windo2s net2ork (ile syste*s per*issions on the (ile or (older4n addition+ 'i#roso(t A##ess o((ers three di((erent obs#urity *e#hanis*s that atte*pt to hide in(or*ation (ro* users o( the appli#ation:

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

.ata7ase #ass(or&s. <ou #an assign a pass2ord to a database- 6nly users 2ho kno2 the pass2ord #an open the -*db (ile5et (or-grou# security. ;sers+ groups+ and ob?e#t per*issions #an be de(ined and shared a#ross *ultiple 2orkgroups9ile enco&ing. Contents o( the database #an be en#oded at the (ile le"el-

;n(ortunately+ these *e#hanis*s are designed (or usability and not (or se#uring the (ileA##ess is built on a (ile@based database engine+ 2hi#h reGuires read per*issions to the a#tual database (ile- There(ore+ users 2ill be able to #opy the (ile using the Windo2s shell and use #usto* tools to *odi(y the binary representation o( the (ile dire#tly+ thereby getting around all A##ess@spe#i(i# se#urity *e#hanis*s-

Access A##lication Limitations


As an A##ess appli#ation e%pands into large depart*ental and enterprise s#enarios there #o*es a gro2ing need to re2rite the appli#ation- Menerally+ the appli#ation e"ol"es o"er *any years and 2ith *any de"elopers+ updates and 2orkarounds are i*ple*ented- 4t *ay be ti*e (or a #o*plete syste* redesign+ to (i% ar#hite#tural proble*s and to i*ple*ent ne2 (eatures that 2ere too disrupti"e in the e%isting stru#ture- This #an be done in A##ess+ but itFs an opportunity to in"est in a ne2 plat(or* that e%ists on !L er"er and #an support the (uture needs o( the organi&ation beyond the #apabilities o( A##ess-

Moving A(ay from Access


'any 4T and business people are (rustrated by the proli(eration o( A##ess databases that no2 need upsi&ing- A##ess should not be bla*ed (or the situation+ be#ause these A##ess databases 2ere #reated by people to sol"e their business needs- 4n *ost #ases+ their needs 2ere *ini*al and did not ?usti(y pro(essional database de"elop*ent by the 4T depart*ent- 4T depart*ents *ay not ha"e ti*e to handle all the database needs o( end usersHo2e"er+ as ti*e passes+ business #hanges+ opportunities arise 2here si*ple database solutions be#a*e *ore i*portant+ and so*e A##ess databases be#o*e #riti#al- This is a trend that 2ill #ontinue- 4t is i*possible to predi#t 2hi#h a*ong the hundreds o( databases that are #reated e"ery year 2ill be#o*e #riti#al se"eral years later+ 2hen others disappear4nitially+ the e%pense o( building a robust+ !L er"er appli#ation #ould not be ?usti(iedThe pro#ess o( business and database e"olution #ul*inates 2ith a (e2 appli#ations that reGuire additional in"est*ent today4T depart*ent personnel and pro(essional de"elopers should appre#iate the role A##ess users and de"elopers ha"e in pro"iding solutions that be#o*e #andidates (or upsi&ingThese appli#ations #an be upsi&ed su##ess(ully+ 2ith appre#iati"e end users and *anagers+ 2ho #an no2 ?usti(y the additional in"est*ent that #ould not be ?usti(ied earlier-

$#si"ing Scenarios
When #onte*plating an A##ess upsi&ing pro?e#t+ there are a "ariety o( upsi&ing *ethodologies- These range (ro* si*ple data *o"ing+ to #o*plete rear#hite#ture and
E0

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

EE

redesign- To #hoose the #orre#t path (or your upsi&ing pro?e#t+ you should be (a*iliar 2ith the three types o( data ar#hite#ture that A##ess supportsThis se#tion outlines upsi&ing s#enarios and pro"ides details about the bene(its and dra2ba#ks o( ea#h approa#h- The (ollo2ing s#enarios are e%a*inedScenario .escri#tion 1ercentage of existing &ata7ases C0 per#ent 0 per#ent $ per#ent

Already 5ight@ i&ed ;psi&e Data 6nly ;psi&e Appli#ation and Data ;sing -98T Te#hnologies

'any A##ess databases do not need to be upsi&edLea"e appli#ation design and logi# in A##ess+ and *o"e data to !L er"er5e2rite the appli#ation using Disual tudio -98T (or Windo2s or Web a##ess+ and *o"e data to !L er"er-

Scenario 1: Alrea&y 'ight:Si"e&


The (irst rule o( upsi&ing is that the *a?ority o( your databases should not be upsi&ed+ be#ause the #ost is prohibiti"e- 8"en i( you ha"e the resour#es to upsi&e a *a?ority o( your A##ess databases+ there *ay be no real bene(it- i*ple lists or reports used by a single person typi#ally are not #riti#al appli#ations- These types o( appli#ations are 2hat A##ess is designed (or+ and are 2ell 2ithin its #apabilities- A##ess =using the Bet database engine> #annot s#ale and does not ha"e the reliability and se#urity o( !L er"er- Ho2e"er+ that is typi#ally not an issue (or the *a?ority o( your A##ess databasesThe key ad"antage to this approa#h is that you donFt ha"e to take a#tion (or indi"idual and s*all tea* databases+ or (or older databases that #an reali&e #ost sa"ings in hard disk spa#e- The (ollo2ing table sho2s the ad"antages and disad"antages o( #enario E: Already 5ight@ i&edA&vantages 9o additional so(t2are needed+ be#ause Bet is in#luded 2ith A##ess 9o !L er"er kno2ledge reGuired Lo2est de"elop*ent #osts .isa&vantages Li*ited s#alability Li*ited se#urity Li*ited nu*ber o( users Li*ited reliability Possible (ailure+ i( ne2 "ersions o( 6((i#e+ A##ess+ Bet+ or data a##ess #o*ponents installed

Scenario *: $#si"e .ata !nly


3e#ause A##ess #an link to !L er"er (or table data+ *igrating only the data is one o( the best balan#es bet2een #ost and bene(its- 4n this s#enario+ you *o"e all table data to !L er"er and lea"e all (or*s+ reports+ Gueries+ *a#ros+ and logi# in the e%isting A##ess database-

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

This s#enario is the Gui#kest and *ost #ost@e((e#ti"e+ be#ause it has the least i*pa#t on e%isting appli#ation logi#- Dery (e2+ i( any+ parts o( the e%isting appli#ation need to be #hanged- With a s*all in"est*ent+ you #an gain the reliability and *aintenan#e bene(its o( !L er"er and keep your A##ess in"est*entA(ter the data is in !L er"er+ it is possible to begin re@2riting portions 2ith a *ore robust en"iron*ent su#h as 'i#roso(t Disual tudio -98T and !L er"er 5eporting er"i#es- This pro#ess o( *o"ing an A##ess appli#ation to2ards *ore s#alable and robust plat(or*s is re(erred to as Jupsi&ing-K #enario 2: ;psi&e Data 6nly is best (or A##ess appli#ations 2ith a s*all nu*ber o( users and s*all database si&es- The (ollo2ing table sho2s the ad"antages and disad"antages o( #enario 2: ;psi&e Data 6nlyA&vantages Lo2est #ost upsi&ing pro?e#t Data lo#ated in !L er"er+ o((ering se#urity+ s#alability+ and reliability .isa&vantages 3usiness users #annot *odi(y s#he*a to tra#k ne2 in(or*ation La#ks a##ess to !L er"er s#alability (eatures su#h as stored pro#edures+ (un#tions+ and so (orth Possible (ailure+ i( ne2 "ersions o( 6((i#e+ A##ess+ Bet+ or data a##ess #o*ponents installed

Scenario 3: $#si"e A##lication an& .ata $sing Access


4( you are planning to upsi&e an A##ess appli#ation+ and per(or*an#e and s#alability are as i*portant as other bene(its =su#h as reliability+ se#urity+ and *aintenan#e>+ you *ay 2ant to #onsider not only *o"ing to !L er"er (or your data+ but re2riting your A##ess appli#ation to re*o"e the Bet engine<ou #an do this by using the A##ess Data Pro?e#t (or*at that is a"ailable in A##ess 2000 and later- A##ess Data Pro?e#ts allo2 the sa*e (or*s+ reports+ *a#ros+ #ode+ and intuiti"e design tools a"ailable in standard A##ess databases- Ho2e"er+ they dire#tly #onne#t to !L er"er (or data a##essThere are t2o situations 2here you 2ould #onsider this s#enario: An e%isting A##ess appli#ation is using Bet only and needs to be upsi&ed to er"er in a 2ay that o((ers opti*u* per(or*an#e and s#alability!L

An e%isting A##ess appli#ation is #onne#ted to !L er"er through Bet and needs better per(or*an#e and (e2er !L er"er #onne#tions-

The *a?or bene(it o( this s#enario is that it results in an A##ess appli#ation that pro"ides the best per(or*an#e and s#alability+ as 2ell as the other positi"e attributes o( !L er"erThe *a?or dra2ba#k to this approa#h is that it reGuires *ore de"elop*ent e((ort+ be#ause A##ess ob?e#ts su#h as (or*s+ reports+ Gueries+ and #ode need to be redesigned to 2ork dire#tly 2ith !L er"er- The (ollo2ing table sho2s the ad"antages and disad"antages o( #enario $: ;psi&e Appli#ation and Data ;sing A##essA&vantages
E2

.isa&vantages

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

E$

3ene(its o( !L er"er+ in#luding per(or*an#e and s#alability Data lo#ated in !L er"er+ o((ering se#urity and reliability

Cost o( redesigning appli#ation logi# and retesting+ o((set by the i*pro"e*ents gained

Scenario ,: $#si"e A##lication an& .ata $sing Microsoft .8ET Technologies


When an e%isting A##ess appli#ation outgro2s A##ess+ it #an do so in a *a?or 2ayA##ess is no longer able to keep up 2ith your organi&ationFs reGuire*ents o( s#alability+ reliability+ and per(or*an#e- 6r+ you *ay need to *igrate all or part o( an appli#ation to the Web- A s*all per#entage o( A##ess upsi&ing pro?e#ts #an only su##ess(ully be #o*pleted by *igrating (ro* A##ess4n this s#enario+ the A##ess appli#ation is used as the beginning (or a ne2 designAdditional te#hnologies su#h as Disual 3asi#+ A#ti"e er"er Pages =A P>+ and Disual tudio -98T are used to re2rite the appli#ation- As part o( this pro#ess+ the data *o"es to !L er"er- Additionally+ you #an #onsider *igrating other data sour#es+ su#h as 6ra#le and D32 into !L er"er (or a #entrally *anaged solutionThe ad"antage o( this approa#h is (le%ibility- <ou #an #reate an appli#ation that #an target #o*puters running Windo2s and the Web 2ith *ini*u* #hanges- A *ore pro(essional de"elop*ent en"iron*ent+ su#h as Disual tudio -98T+ o((ers ad"antages su#h as tea*@based *anage*ent+ sour#e #ode #ontrol+ and pro(essional tools and #o*ponents a"ailable (ro* third@party "endors- With this s#enario+ you 2ill ha"e a reliable+ s#alable+ and *anageable appli#ation that #an *o"e (ro* the business unit to the enterprise le"elThe disad"antage o( this approa#h is #ost- 3e#ause you are dis#arding the A##ess appli#ation and its database+ you are #reating a ne2 appli#ation 2ith a ne2 design+ de"elop*ent+ and i*ple*entation pro?e#t- Fortunately+ only a s*all *inority o( A##ess appli#ations reGuire this le"el o( e((ort- The (ollo2ing table sho2s the ad"antages and disad"antages o( #enario 1: ;psi&e Appli#ation and Data ;sing -98T Te#hnologiesA&vantages Fle%ibility+ be#ause appli#ation #an target Windo2s+ Web+ and *ore #alability and reliability+ using -98T de"elop*ent te#hnologies 2ith !L er"er (or the best *idle"el and enterprise le"el return on in"est*ent 8ase o( *anage*ent+ be#ause "ersions o( A##ess no longer ha"e any role in the appli#ationFs #apability =or in#apability> to be used a#ross the enterprise .isa&vantages Highest #ost 5etraining o( sta(( 9e2 appli#ation testing Additional de"eloper e%pertise

1lanning an $#si"ing 1ro2ect


To a"oid unne#essary #osts+ ensure appli#ation a"ailability+ and *ini*i&e risks+ you should #are(ully plan your A##ess upsi&ing pro?e#t- The a*ount o( planning is dire#tly

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

related to the type o( upsi&ing pro?e#t you en"ision- For e%a*ple+ a si*ple *igration o( data to !L er"er reGuires less planning than a #o*plete re2rite o( the appli#ation and data *igration- The (ollo2ing se#tions pro"ide guidelines and best pra#ti#es (or planning your upsi&ing pro?e#t-

Ta-ing )nventory of Access .ata7ases in our !rgani"ation


6ne o( the #hallenges (or your organi&ation is identi(ying ho2 *any A##ess databases you ha"e+ and 2hi#h ones should be upsi&ed- The proble* is 2here to start- Ho2 do you e((i#iently in"entory your A##ess databases to get an initial understanding o( the proble*O 8"en 2ith #onser"ati"e esti*ates+ an organi&ation 2ith 500 #lient #o*puters *ay potentially ha"e E0+000 A##ess databases<ou ha"e se"eral strategies (or sol"ing this proble*- The si*plest route is to #o**uni#ate 2ith users+ usually through an e@*ail *essage+ and ask (or basi# (eedba#k on ea#h userFs database in"entory+ su#h as: Ho2 *any A##ess databases do you #urrently useO Ho2 *any tables are in these databasesO Do you share this database 2ith other usersO Do you link to+ or use i*portAe%port on+ #orporate dataO Are your databases being ba#ked upO Are there other appli#ations that use the databaseO =For e%a*ple+ an appli#ation *ay be shared by (ront ends in A##ess+ Disual 3asi#+ or CNN->

A 2ell@de(ined =and brie(> set o( Guestions 2ill help you identi(y 2hi#h databases *ay be at riskFor larger organi&ations+ a better@*anaged approa#h is to i*ple*ent a syste* that #an auto*ati#ally in"entory and report on A##ess databases- A desktop agent that regularly in"entories lo#al and net2ork hard disk dri"es+ in #o*bination 2ith a #entrali&ed ser"er reporting appli#ation+ #an pro"ide tangible bene(its (or an organi&ationFs need to *anage user data+ and s#hedule upsi&ing pro?e#ts'i#roso(t supplies the A##ess 200$ Con"ersion Toolkit to help you 2ith the pro#ess o( (inding and #lassi(ying your A##ess databases-

1hase 1: .esign an& 1lanning +hoose our $#si"ing Scenario


<our le"el o( planning and o"erall e((ort is dire#tly related to 2hi#h upsi&ing s#enario you #hoose- For e%a*ple+ upsi&ing data to !L er"er 2hile lea"ing the A##ess (ront end in pla#e reGuires less e((ort+ but yields (e2er bene(its- A(ter you ha"e #hosen your plan+ be sure to #learly state goals+ ti*eline+ and budget-

)&entify a SQL Server )nstallation


A(ter you #hoose to upsi&e an A##ess appli#ation+ you 2ill need to either identi(y an e%isting !L er"er installation to use+ or plan to #reate one- !L er"er #o*es in a "ariety o( editions+ (ro* the (reely a"ailable 'i#roso(t Database 8ngine =' D8> to !L er"er 8nterprise 8dition- 4n general+ all editions o( !L er"er+ in#luding ' D8+ are
E1

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

E5

#apable o( handling s*all 2orkgroup appli#ations in"ol"ing EP20 users- 4( you are upsi&ing both the appli#ation and the database+ and your needs #all (or the greatest s#alability+ (un#tionality+ and reliability+ #onsider using the 8nterprise 8dition-

A&ministration
3e(ore your upsi&ing pro?e#t is deployed+ you should ha"e an ad*inistrati"e plan (or your ne2 !L er"er data- Planning (or this be(ore the rollout is key- 4nstalling !L er"er and #reating ob?e#ts are only part o( the plan- <ou should de(ine ba#kup s#hedules+ (ault toleran#e para*eters =as needed>+ and ad*inistrati"e sta(( 2ho are responsible (or the database #o*ponent-

.evelo#ment 1lan
Create a de"elop*ent plan that #o"ers ea#h aspe#t o( the A##ess appli#ation that *ust be #hanged- 4( you are only planning to upsi&e the data to !L er"er+ parts o( the A##ess (ront end *ay still need to #hange- For e%a*ple+ the Bet database engine uses di((erent data types+ and a di((erent !L gra**ar than does !L er"er- Plan to identi(y any areas o( in#o*patibility and #hange A##ess ob?e#ts as needed- 4( your s#enario #alls (or a #o*plete re2rite o( the A##ess appli#ation in a di((erent en"iron*ent+ su#h as -98T+ you need to approa#h the pro?e#t as a (ull li(e #y#le so(t2are de"elop*ent e((ort and plan a##ordingly- Finally+ be sure to identi(y risk areas+ su#h as data destabili&ation or loss that #ould potentially o##ur+ and ha"e a proa#ti"e plan in pla#e to address the*4n rare #ases+ other appli#ations *ay share the A##ess database- This #an in#lude other A##ess databases and appli#ations 2ritten in Disual 3asi# or CNN+ and so*eti*es e"en lo2@"olu*e Web appli#ations- All o( these plat(or*s 2ill need to #hange 2hen the data *igrates to !L er"er-

Evaluate the Microsoft $#si"ing Wi"ar&


'i#roso(t pro"ides an upsi&ing 2i&ard that allo2s se*iauto*ati# upsi&ing o( A##ess to !L er"er- This 2i&ard is li*ited in its #apability to #reate usable !L er"er@based appli#ations- When you are #onte*plating an upsi&ing pro?e#t+ you #an use the 'i#roso(t ;psi&ing Wi&ard as a starting point- Ho2e"er+ e%#ept (or the *ost si*ple upsi&ing pro?e#ts =(or e%a*ple+ #enario 2: ;psi&e Data 6nly>+ the 'i#roso(t ;psi&ing Wi&ard 2ill a##o*plish only about 10 per#ent o( the 2ork- The (ollo2ing table des#ribes the li*itations you *ay en#ounter 2ith the 'i#roso(t ;psi&ing Wi&ard)ssue 9onstandard table or (ield na*es Di((eren#es in !L Data type #on"ersion issues .escri#tion Bet and !L use di((erent na*ing standards- The ;psi&ing Wi&ard #an (ind so*e+ but not all- Those that it does (ind and rena*e 2ill not 2ork in any e%isting #odeA##ess uses its o2n diale#t o( !L that is di((erent (ro* the A9 4 !L supported by !L er"er- 'any Bet@based Gueries #annot run on !L er"er 2ithout being re2rittenA##ess has its o2n standards (or data types that are di((erent in so*e #ases (ro* !L er"er- The ;psi&ing Wi&ard #an *ake so*e #hoi#es (or you in ter*s o( #on"erting data types+ but #hanges reGuire de"eloper re"ie2-

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

Ar#hite#tural issues

The ;psi&ing Wi&ard #annot re2rite your appli#ation to 2ork #orre#tly 2ith the !L er"er #lientAser"er *odel- Al*ost all A##ess appli#ations are designed to 2ork 2ith the (ile share *odel o( BetThese designs do not lend the*sel"es to the #lientAser"er *odel and #an result in poor per(or*an#eThe ;psi&ing Wi&ard does not #on"ert any o( the Disual 3asi# (or Appli#ations #ode in your appli#ation- This #an result in serious errors as parts o( your appli#ation point to !L er"er 2hile your #ode still points to an A##ess =Bet> databaseThe ;psi&ing Wi&ard does not #on"ert any o( the (ollo2ing ob?e#ts: hidden ob?e#ts+ se#urity settings+ For*at and 4nput'ask properties+ Table or Field #aption properties+ table lookup (ields+ #rosstab Gueries+ a#tion Gueries that use para*eters+ *any Guery properties+ *a#ros+ and *odule #ode-

Code not #on"erted

4te*s not upsi&ed

4n general+ #onsider using the 'i#roso(t ;psi&ing Wi&ard as a starting point+ or (or proo(@o(@#on#ept phases- Ho2e"er+ it #annot be relied on to #o*pletely upsi&e an appli#ation in the #orre#t 2ay-

1hase *: )m#lementation +onfigure SQL Server


;se the data diagra* that is part o( your de"elop*ent plan to i*ple*ent the (irst "ersion o( !L er"er ob?e#ts+ su#h as tables+ "ie2s+ and stored pro#edures- 4*ple*ent users+ groups+ and roles as needed- 4t is i*portant to ha"e these ob?e#ts in pla#e be(ore de"elop*ent starts+ be#ause de"elopers #anFt 2ork against a !L er"er ba#k end that isnFt there- DonFt 2orry about per(or*an#e opti*i&ation yet+ be#ause that happens later-

.evelo#ment
3ased on your de"elop*ent plan+ sta(( your de"elop*ent tea* and pro"ide the resour#es ne#essary- 'ake the e%isting A##ess and other appli#ations dependent on the data a"ailable to the tea* (or use as a ben#h*ark or prototype resour#e- 'onitor the *ilestones and risk areas de(ined in your planning pro#ess-

Testing
3e(ore the (irst test deploy*ent o( the ne2 appli#ation+ basi# de"eloper@based testing should o##ur- ;se the e%isting A##ess appli#ation as a *odel to redu#e the a*ount o( ti*e needed (or the initial testing e((ort- Co*pare ea#h (un#tional area in the original A##ess appli#ation against the ne2 #ode base- 4( you are #o*pletely re2riting the A##ess (ront@end appli#ation as 2ell as *o"ing the data+ you should plan to in"ol"e dedi#ated Guality assuran#e or testing sta(( to (ind #riti#al errors-

.ocumentation
'ost A##ess appli#ations are #reated by end users+ and la#k do#u*entation- 3e#ause you are in"esting in the pro#ess o( upsi&ing+ this is the ti*e to do#u*ent the ne2 appli#ation- At a *ini*u*+ #reate a #on(iguration and troubleshooting do#u*ent that
E.

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

E0

outlines 2here the appli#ationFs #o*ponent parts reside+ desktop and net2ork settings+ and basi# troubleshooting te#hniGues based on the results o( your testing plan- 4( you ha"e the resour#es+ you *ay #onsider *ore #o*plete do#u*entation+ su#h as data diagra*s+ (lo2#harts+ and #ode listings-

Training
When you take an e%isting in@produ#tion appli#ation and #hange or re2rite it+ you *ust ensure that the appli#ationFs users are in(or*ed- Depending on the s#ope o( the #hanges in the upsi&ing pro?e#t+ training (or the appli#ationFs users *ay range (ro* a (e2 hours o( 2alk@through training to (ull (or*al training 2ith the asso#iated training guides and do#u*entation- Training is #ru#ial i( you 2ant the #ooperation o( the appli#ationFs users-

'ollout
<our (irst rollout o( the appli#ation is typi#ally deployed to a subset o( the entire user population- ele#t a s*all group o( users and e*ploy the* as the beta testers- The goal is to "eri(y the planning and de"elop*ent 2ork- Does the ne2 appli#ation 2ork #orre#tlyO Also+ user (eedba#k *ay help identi(y any last *inute issues not addressed in the planning and i*ple*entation pro#ess- ;sers #an also pro"ide in"aluable in(or*ation regarding usabilityA(ter you ha"e been through initial testing+ and *ade any ne#essary #hanges or (i%es+ roll the appli#ation out to the entire user base- Depending on the nu*ber o( users in the appli#ation+ and the i*portan#e and #urren#y o( the data+ you *ay 2ant to #onsider running the old A##ess@based syste* in tande* 2ith the ne2 syste* (or a period o( ti*e- This pro"ides an e%tra degree o( se#urity should the ne2 appli#ation e%perien#e proble*s-

1hase 3: Sta7ili"ation
A(ter the ne2 appli#ation is in produ#tion use (or all users+ the pro?e#t enters the stabili&ation period- De(e#ts are identi(ied by users and (i%es are planned- ;sers 2ill also see opportunities (or ne2 (un#tionality =as is the #ase 2ith any appli#ation> and these should be noted by *anage*ent- 6ngoing support to users is i*portant be#ause an upsi&ing pro?e#t o(ten results in appli#ation attributes that are no longer under the #ontrol o( the end user =(or e%a*ple+ 2hen using !L er"er>During this period+ you should also *onitor per(or*an#e+ not only in ter*s o( 2hat users *ay be reporting as slo2+ but a#ti"e *onitoring o( !L er"er using tools su#h as the Guery analy&er and per(or*an#e #ounters-

+onclusion
This paper pro"ides an o"er"ie2 o( the 'i#roso(t A##ess to 'i#roso(t !L er"er upsi&ing pro#ess and ho2 to e"aluate databases (or upsi&ing- Fortunately+ (or *ost organi&ations+ only a (ra#tion o( their *any A##ess databases are #andidates (or upsi&ing- 3y opti*i&ing the use o( A##ess =and the Bet database engine>+ e"en (e2er databases *ay need to *igrateThe re*aining #andidates (or upsi&ing reGuire the e"aluation o( the 4T and business needs (or ea#h appli#ation- Fro* a si*ple ba#k@end database s2it#h 2ith *ini*al (ront@ end *odi(i#ations to a #o*plete appli#ation re2rite+ se"eral alternati"es are a"ailable

When to 'igrate (ro* 'i#roso(t A##ess to 'i#roso(t

!L

er"er

(or upsi&ing+ depending on the (eatures reGuired+ a"ailable resour#es+ and 2hat you 2ant to preser"e (ro* the e%isting appli#ationApproa#h these situations as opportunities+ and anti#ipate that *ore opportunities 2ill e%ist in the (uture+ as database #o*puting be#o*es e"en *ore po2er(ul- <ou #an deli"er the (ull po2er o( !L er"er to business units that #an ?usti(y the in"est*ent and appre#iate the results-

'ecommen&e& 'ea&ing
For *ore in(or*ation about A##ess+ !L er"er+ and upsi&ing+ please see: A##ess in the 8nterprise: http:AA222-(*sin#-#o*Aupsi&eA When to upsi&e a 'i#roso(t A##ess database to 'i#roso(t !L er"er: http:AA*sdn-*i#roso(t-#o*AlibraryAde(ault-aspOurlQAlibraryAen@ usAo((2000Aht*lAa##onWhenTo;psi&e'D3to !L er"er-asp

E/

Das könnte Ihnen auch gefallen