Beruflich Dokumente
Kultur Dokumente
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-
'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
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/
!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-
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
!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
!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-
E terabyte ;nli*ited
!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
'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-
!L
er"er
!L
er"er
!L
er"er
No upsizing needed
Upsize 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-
!L
er"er
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-
.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
/
!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-
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:
!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-
$#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
!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-
!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
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
!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
!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-
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-
!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-
!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-
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-
.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.
!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
!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/