Accessi andmebaasi migreerimine SQL Serverisse

Accessi andmebaasi migreerimine SQL Serverisse

Meil kõigil on piirid ja Accessi andmebaas pole erand. Näiteks on Accessi andmebaasi mahupiirang 2 GB ja seda ei saa toetada rohkem kui 255 samaaegsete kasutajate jaoks. Kui teie Accessi andmebaasil on aeg minna järgmisele tasemele, saate migreerida SQL serverisse. SQL Server (kas kohapealses või Azure ' i pilves) toetab suuremal hulgal andmeid, samaaegsete kasutajate arvu ja suurema võimsuse kui JET/ACE andmebaasi mootorit. See juhend annab teile sujuva alguse SQL serveri teekonnast, mis aitab säilitada teie loodud eesserverid, ja loodame, et soovite Accessi kasutada ka tulevaste andmebaasi lahenduste jaoks. Microsoft SQL serveri migreerimise abimees (SSMA) eemaldati Accessis 2013 Accessi abil. Migreerimise õnnestumiseks järgige neid etappe.

Andmebaasi migreerimise etapid SQL serverisse

Enne alustamist

Järgmistes jaotistes pakutakse tausta ja muud teavet, mis aitavad teil alustada.

Teave tükeldatud andmebaaside kohta

Kõik Accessi andmebaasiobjektide objektid võivad olla kas ühes andmebaasifaili või neid saab talletada kahes andmebaasi failis: eesserver ja back-end andmebaasi. Seda nimetatakse andmebaasi tükeldamiseks ning see on mõeldud võrgu keskkonnas ühiskasutuse hõlbustamiseks. Back-end andmebaasi failid peavad sisaldama ainult tabeleid ja seoseid. Eesserver peab sisaldama ainult kõiki muid objekte (sh vorme, aruandeid, päringuid, makrosid, VBA-mooduleid ja lingitud tabeleid) back-end andmebaasi. Kui migreerite Accessi andmebaasi, on see sarnane SQL serveri tükeldatud andmebaasiga, mis toimib praegu serveris asuvatele andmetele uueks back-end.

Selle tulemusena saate endiselt säilitada eesserver Accessi andmebaasi koos lingitud tabelitega SQL serveri tabelitega. Efektiivselt saate kasutada Accessi andmebaasi kiiret rakenduste arendamise eeliseid ning SQL serveri mastaapi.

SQL serveri eelised

Kas vajate SQL serverisse migreerimiseks endiselt veenvaid probleeme? Siit leiate lisateavet selle kohta, millised on järgmised eelised.

  • Mitme samaaegse kasutajaga    SQL Server saab tegeleda paljude samaaegsete kasutajate kui juurdepääsuga ja minimeerib mälu nõudmised, kui rohkem kasutajaid lisatakse.

  • Suurem kättesaadavus    SQL serveriga saate dünaamiliselt varundada kas astmeliselt või terviklikult andmebaasi, kui see on kasutusel. Seega ei pea te sundima kasutajaid andmete varundamiseks andmebaasist lahkuma.

  • Suur jõudlus ja mastaap    SQL Serveri andmebaas täidab tavaliselt rohkem kui Accessi andmebaasi, eriti suure Teratavu andmebaasiga. Ka SQL Server töötleb päringuid palju kiiremini ja tõhusalt, kui töötlete päringuid paralleelselt, kasutades mitut algset lõime ühe protsessi jooksul kasutaja päringute käsitlemiseks.

  • Täiustatud Turve    Kui kasutate usaldusväärset ühendust, integreerib SQL Server Windowsi süsteemi turbega, et pakkuda ühtset juurdepääsu võrgule ja andmebaasile, kasutades mõlema turvasüsteemi parimat. See muudab keerukate turvameetmete haldamise palju lihtsamaks. SQL Server on ideaalne salvestusruumi tundliku teabe (nt sotsiaalkindlustuse numbrid, krediitkaardi andmed ja konfidentsiaalsed aadressid) jaoks.

  • Viivitamatu taastamine    Kui opsüsteem jookseb kokku või toide kustub, saab SQL Server andmebaasi automaatselt taastada mõne minutiga ja andmebaasi administraatori sekkumiseta.

  • VPN-i kasutamine    Juurdepääs ja virtuaalsed privaatvõrgu (VPN) ei saa läbi. Kuid SQL serveri korral saavad kaugühendused kasutada endiselt töölaua Accessi eesserver andmebaasi ja SQL serveri back-end, mis asub VPN-tulemüüri taga.

  • Azure ' i SQL Server    Lisaks SQL serveri eelistele pakub dünaamiline tagi ilma seisakute, intelligentse optimeerimise, globaalse tagi ja kättesaadavusega, riistvara kulude kõrvaldamisega ning vähendatud haldusega.

Valige parim Azure ' i SQL serveri suvand

Kui migreerite Azure ' i SQL serverisse, saate valida kolm võimalust, millest igaühel on erinevad eelised.

  • Üksik andmebaas/elastne basseinid    See suvand sisaldab SQL-i andmebaasi serveri kaudu hallatavaid ressursside kogumit. Üksik andmebaas on nagu SQL serveri sisaldav andmebaas. Saate lisada ka elastse kogumi, mis on andmebaaside kogumik, mille kaudu hallatakse SQL-andmebaasi serveri kaudu hallatavaid ressursside kogumit. Kõige sagedamini kasutatavad SQL serveri funktsioonid on saadaval sisseehitatud varukoopiate, lappimise ja taaskasutamisega. Kuid ei ole tagatud täpne hooldus aega ja migratsiooni SQL Server võib olla raske.

  • Hallatav eksemplar    See suvand on süsteemi ja kasutajate andmebaaside kogumik, kus on ühiskasutusse antud ressursside komplekt. Hallatav eksemplar on nagu SQL serveri andmebaasi eksemplar, mis on väga ühilduvus asutusesisese SQL Serveri andmebaasiga. Hallataval eksemplaril on sisseehitatud varundid, lappimine, taastamine ja seda on lihtne SQL Serverist migreerida. Siiski on väike arv SQL serveri funktsioone, mis ei ole saadaval ja pole garanteeritud täpset hooldust aeg.

  • Azure Virtual Machine    Selle suvandi abil saate käitada Azure ' i pilve virtuaalarvuti sees SQL Serverit. Teil on SQL serveri mootori Täielik kasutusõigus ja lihtne migreerimise tee. Kuid sa pead haldama oma varundeid, paiku ja taaskasutamist.

Lisateavet leiate teemast andmebaasi migreerimise tee valimine Azure ' i ja Azure ' is õige SQL-serveri suvandivalimine.

Esimesed toimingud

Enne SSMA käivitamist on võimalik teha mõningaid probleeme, mis aitavad migreerimise sujuvamaks muuta.

  • Tabeli indeksi ja primaarsete klahvide lisamine    Veenduge, et igal Accessi tabelil oleks indeks ja primaarvõti. SQL Server nõuab, et kõigil tabelitel oleks vähemalt üks indeks ja kui tabelit saab värskendada, on vaja, et lingitud tabelil oleks primaarvõti.

  • Kontrolli esmase/välismaise võtme seoseid    Veenduge, et need seosed põhinevad ühtsete andmetüüpide ja suurustega väljadel. SQL Server ei toeta ühendatud veerge, kus on erinevad andmetüübid ja suurused välisvõtme kitsendustes.

  • Manuse veeru eemaldamine    SSMA ei Migreeri veergu manus sisaldavaid tabeleid.

Enne SSMA käivitamist tehke järgmised esimesed toimingud.

  1. Sulgege Accessi andmebaas.

  2. Veenduge, et andmebaasiga ühendatud praegused kasutajad ka andmebaasi sulgeks.

  3. Kui andmebaas on mdb- failivormingus, siis eemaldage kasutaja tasemel turve.

  4. Varundage andmebaas. Lisateavet leiate teemast andmete kaitsmine varundamise ja taastamise protsessidega.

Näpunäide    Kaaluge oma töölaual Microsoft SQL Server Expressi väljaande installimist, mis toetab kuni 10 GB, ning see on tasuta ja hõlpsam viis migreerimise kontrollimiseks ja kontrollimiseks. Kui loote ühenduse, kasutage LocalDB andmebaasi eksemplarina.

Näpunäide    Võimaluse korral kasutage Accessi eraldiseisvat versiooni. Kui saate kasutada ainult Office 365 i, siis kasutage Accessi andmebaasi migreerimiseks Accessi 2010 andmebaasi mootorit, kui kasutate SSMA. Lisateavet leiate teemast Microsoft Access Database Engine 2010 taaslevitatav.

SSMA käivitamine

Microsoft pakub migreerimise hõlbustamiseks Microsoft SQL serveri migreerimise abimeest (SSMA). SSMA peamiselt migreerib tabeleid ja valige päringud ilma parameetriteta. Vorme, aruandeid, makrosid ja VBA-mooduleid ei teisendata. SQL serveri metaandmete Explorer kuvab teie Accessi andmebaasi objektid ja SQL serveri objektid, mis võimaldavad teil vaadata mõlema andmebaasi praegust sisu. Need kaks ühendust on salvestatud teie migreerimise faili, kui otsustate edaspidi üle viia täiendavaid objekte.

Märkus    Migreerimise protsess võib olenevalt andmebaasiobjektide mahust ja edastatavate andmete mahust veidi aega võtta.

  1. Kui soovite andmebaasi migreerida SSMA abil, siis kõigepealt Laadi alla ja installige tarkvara, topeltklõpsates allalaaditud msi-faili. Veenduge, et installite oma arvutile sobiva 32 või 64 bitise versiooni.

  2. Kui olete SSMA installinud, avage see oma töölaual, eelistatavalt arvutist, kus on Accessi andmebaasi fail.

    Saate selle avada ka arvutis, kus on juurdepääs juurdepääsu andmebaasile ühiskasutusega kausta võrgu kaudu.

  3. Järgige SSMA alguses olevaid juhiseid, et anda põhiteavet (nt SQL serveri asukoht, Accessi andmebaas ja objektid migreerimiseks, ühenduse teave ja kas soovite luua lingitud tabeleid).

  4. Kui migreerite SQL Serveri 2016 või uuemat versiooni ja soovite lingitud tabelit värskendada, saate lisada ROWVERSION veeru, valides > projekti sätted > General( läbivaatuse tööriistad ).

    Väli ROWVERSION aitab vältida kirjete konflikte. Access kasutab seda ROWVERSION välja SQL serveri lingitud tabelis, et määrata, millal kirje viimati värskendati. Kui lisate päringusse ka välja ROWVERSION, kasutab Access seda rea uuesti valimiseks pärast värskenduse käitamist. See parandab efektiivsust, aidates vältida konfliktide kirjutamise tõrkeid ja salvestada kustutamise stsenaariumid, mis võivad juhtuda siis, kui Access tuvastab algsest edastusest erinevad tulemid (nt võib esineda ujuvate punktide arvu andmetüübid) ja käivitab selle muutmise. veerud. Kuid Vältige vormide, aruannete või VBA-koodi välja ROWVERSION kasutamist. Lisateavet leiate teemast ROWVERSION.

    Märkus    Vältige ROWVERSION ja ajatemplite segadust. Kuigi märksõna timestamp on SQL serveri ROWVERSION sünonüüm, ei saa te kasutada ROWVERSION, kui soovite, et andmed oleks ajatembeldatud.

  5. Täpsete andmetüüpide määramiseks valige >projekti sätted > tüübi vastendamine. Kui salvestate näiteks ainult ingliskeelse teksti, saate kasutada pigem muutuvpikkusega Tärkandmed kui muutuvpikkusega n andmetüüpi.

Objektide teisendamine

SSMA teisendab Accessi objektid SQL serveri objektiks, kuid ei kopeeri objekte kohe. SSMA pakub migreerimiseks järgmiste objektide loendit, et saaksite otsustada, kas soovite need teisaldada SQL serveri andmebaasi.

  • Tabelid ja veerud

  • Valige päringud, mis ei vasta parameetritele.

  • Alg-ja välisvõtmed

  • Indeksid ja vaikeväärtused

  • Kontrolli kitsendused (lubage nullpikkusega veeru atribuut, veeru valideerimise reegel, tabeli kinnitamine)

Parimate tavadena saate kasutada SSMA hindamisaruannet, kus on kuvatud teisenduse tulemid (sh tõrked, hoiatused, informatiivsed sõnumid, migreerimise ajakalkulatsioonid) ja üksikud veaparandused, mida tuleb teha enne, kui tegelikult objektid.

Andmebaasi objektide teisendamine võtab Accessi metaandmetest objekti definitsioonid, teisendab need samaväärsete Transact-SQL (T-SQL) süntaksiksja seejärel laadib selle teabe projekti. Seejärel saate vaadata SQL serveri või SQL Azure ' i objekte ja nende atribuute SQL serveri või SQL Azure ' i metaandmete Exploreri abil.

Objektide teisendamiseks, laadimiseks ja migreerimiseks SQL serverisse järgige seda juhendit.

Näpunäide    Kui olete Accessi andmebaasi edukalt migreerinud, salvestage projektifaili hilisemaks kasutamiseks, nii et saate andmed uuesti migreerimiseks või lõplikuks migreerimiseks migreerida.

Tabelite linkimine

Kaaluge SQL serveri OLE DB ja ODBC-draiverite uusima versiooni installimist selle asemel, et kasutada Windowsiga kaasas olevaid kohalikke SQL serveri draivereid. Mitte ainult uuemad draiverid on kiiremad, kuid need toetavad Azure SQL-i uusi funktsioone, mida eelmised draiverid ei kasuta. Saate installida draiverid igasse arvutisse, kus teisendatud andmebaasi kasutatakse. Lisateavet leiate teemast Microsoft ole dB Driver 18 SQL serveri jaoks ja Microsoft ODBC Driver 17 SQL serveri jaoks.

Pärast Accessi tabelite migreerimist saate linkida SQL serveri tabeleid, mis nüüd teie andmeid majutavad. Otse Accessi kaudu linkimine pakub ka lihtsamat viisi andmete vaatamiseks, mitte keerukate SQL serveri halduse tööriistade kasutamise asemel.  Lingitud andmeid saate päringu ja redigeerida olenevalt SQL serveri andmebaasi administraatori määratud õigustest.

Märkus    Kui loote lingi SQL serveri andmebaasi linkimise ajal, saate luua sama DSN-i kõigis arvutites, mis kasutavad uut rakendust, või programmiliselt kasutada DSN-failis talletatavat ühendusstringi.

Lisateavet leiate teemast Azure ' i SQL serveri andmebaasist andmete linkimine või importimine ja SQL serveri andmebaasi andmete importimine või linkimine.

Näpunäide   Ära unusta kasutada lingitud tabelite haldurit Accessi tabelite hõlpsaks värskendamiseks ja uuesti linkimiseks. Lisateavet leiate teemast lingitud tabelite haldamine.

Test ja läbivaatamine

Järgmistes jaotistes kirjeldatakse levinud probleeme, mis võivad migreerimise ajal ilmneda ja kuidas nendega tegeleda.

Päringud

Teisendatakse ainult päringute valimine; muud päringud pole, sh valige päringud, mis võtavad parameetreid. Mõned päringud ei pruugi teisenduse käigus täielikult teisendada ja SSMA aruandeid. T-SQL-süntaksit kasutades saate käsitsi redigeerida objekte, mida ei teisendata. Süntaksi tõrked võivad nõuda ka käsitsi teisendamist Accessi kindlate funktsioonide ja andmetüübid SQL serveri ones. Lisateavet leiate teemast ACCESSI SQL-i võrdlus SQL serveri TSQL.

Andmetüübid

Accessil ja SQL-serveril on sarnased andmetüübid, kuid need võivad olla järgmised võimalikud probleemid.

Suur arv    Andmetüüp suur arv säilitab mitterahalise, numbrilise väärtuse ja ühildub SQL-i bigint andmetüübiga. Seda andmetüüpi saate kasutada suurte arvude efektiivseks arvutamiseks, kuid selle kasutamiseks on vaja Access 16 (16.0.7812 või uuem versioon). accdb andmebaasi failivormingut ja see toimib paremini Accessi 64-bitise versiooniga. Lisateavet leiate teemast andmetüübi "suur arv" kasutamine ja Office ' i 64-bitise või 32-bitise versiooni valimine.

Jah/ei    Vaikimisi teisendatakse Accessi jah/ei veerg SQL serveri bitiseks väljaks. Salvestuse lukustamise vältimiseks Veenduge, et biti väli oleks seatud NULL-väärtusi keelama. RAKENDUSES SSMA saate valida biti veeru, et määrata atribuudi Luba tühjad väärtuseks ei. Rakenduses TSQL saate kasutada tabelit Create Table või Alter Table .

Kuupäev ja kellaaeg    On mitu kuupäeva ja kellaaja aspekti.

  • Kui andmebaasi ühilduvus on 130 (SQL Server 2016) või uuem ning lingitud tabel sisaldab ühte või mitut kuupäeva-või datetime2 veergu, võib tabel tagastada tulemites #deleted sõnumi. Lisateavet leiate teemast Accessi lingitud tabeli SQL-Serveri andmebaas annab #deleted.

  • Kasutage datetime2 andmetüüpi, mille kuupäevavahemik on suurem kui datetime.

  • SQL serveri kuupäevade päringute tegemisel arvestage nii kellaaega kui ka kuupäeva. Näiteks:

    • DateOrdered vahemikus 1/1/19 ja 1/31/19 ei tohi sisaldada kõiki tellimusi.

    • DateOrdered vahemikus 1/1/19 00:00:00 AM and 1/31/19 11:59:59 PM sisaldab kõiki tellimusi.

Manus;   Manuse andmetüüp salvestab faili Accessi andmebaasis. SQL serveris on mitu võimalust, mida tuleks kaaluda. Saate failid ekstraktida Accessi andmebaasist ja seejärel kaaluda SQL serveri andmebaasis olevate failide linkide talletamist. Teise võimalusena saate SQL serveri andmebaasis talletatud manuste hoidmiseks kasutada ka FILESTREAM, FileTables või Remote BLOB Store ' i (RBS).

Hüperlink    Accessi tabelites on hüperlinkide veerud, mida SQL Server ei toeta. Vaikimisi teisendatakse need veerud SQL serveri muutuvpikkusega n (max) veergudeks, kuid saate vastendamist kohandada, et valida väiksem andmetüüp. Accessi lahenduses saate endiselt kasutada hüperlinkide käitumist vormides ja aruannetes, kui seate atribuudi hüperlink väärtuseks TRUE.

Mitme väärtusega väli    Accessi mitme väärtusega väli teisendatakse SQL serverisse ntext väljana, mis sisaldab eraldajatega väärtuste kogumit. Kuna SQL Server ei toeta mitu-mitmele-seost kujutavat mitmeväärtuselist andmetüüpi, võib vaja minna täiendavat kooste- ja teisendustööd.

Lisateavet Accessi ja SQL serveri andmetüüpide vastendamise kohta leiate teemast andmetüüpide võrdlus.

Märkus    Mitmeväärtuseliseid välju ei teisendata ja need on rakenduses Access 2010 katkestatud.

Lisateavet leiate teemast kuupäeva ja kellaaja tüübid, stringid ja binaarsedning numbrilisedtüübid.

Visual Basic

Kuigi SQL Server ei toeta VBA-s, arvestage järgmiste võimalike probleemidega.

VBA-funktsioonid päringutes    Accessi päringud toetavad VBA-funktsioone päringu veeru andmetes. Kuid Accessi päringuid, mis kasutavad VBA-funktsioone, ei saa SQL serveris käivitada, nii et kõik nõutud andmed edastatakse töötlemiseks Microsoft Accessile. Enamikul juhtudel tuleks need päringud teisendada läbimiseks päringuteläbivaatamiseks.

Kasutaja määratletud funktsioonid päringutes    Microsoft Accessi päringud toetavad VBA-moodulites määratud funktsioonide kasutamist neile edastatud andmete töötlemiseks. Päringud võivad olla eraldiseisvad päringud, SQL-laused vormi/aruande kirjete allikates, liitboksi ja tekstiväljade andmeallikad vormide, aruannete ja tabelite väljadel ning vaike-või valideerimise reegli avaldised. SQL Server ei saa neid kasutaja määratletud funktsioone käivitada. Võimalik, et peate need funktsioonid käsitsi ümber kujundama ja teisendama need SQL serveri salvestatud protseduuridele.

Jõudluse optimeerimine

Kõige olulisem viis jõudluse optimeerimiseks uue, back-end SQL serveriga on otsustada, millal kasutada kohalikke või serveri päringuid. Kui migreerite oma andmed SQL serverisse, liigute ka failiserveri kaudu klientarvutisse-serveri andmebaasi mudelisse. Järgige järgmisi üldisi juhiseid.

  • Kiire juurdepääsu saamiseks käitage klienti väikeseid ja kirjutuskaitstud päringuid.

  • Käivita pikki, lugeda/kirjutada päringuid serveris, et ära kasutada suuremat töötlemist.

  • Minimeerige võrguliikluse filtrid ja summeerimine, et edastada ainult vajalikud andmed.

Jõudluse optimeerimine kliendi serveri andmebaasi mudelis

Lisateavet leiate teemast läbitud päringu loomine.

Järgnevalt on toodud täiendavad Soovitatavad juhised.

Loogika paigutamine serverisse    Teie rakenduses saab kasutada ka vaateid, kasutaja määratletud funktsioone, salvestatud protseduure, arvutatud välju ja käivitab rakenduse loogika, Ärireeglite ja poliitikate, keerukate päringute, andmete valideerimise ja viitamistervikluse koodi tsentraliseerida ja ühiskasutusse andmise. serverile, mitte kliendile. Küsi endalt, kas seda päringut või ülesannet saab serveris paremini ja kiiremini teha? Lõpuks testige iga päringut optimaalse jõudluse tagamiseks.

Vaadete kasutamine vormides ja aruannetes    Accessis tehke järgmist.

  • Vormide puhul kasutage kirjutuskaitstud vormi jaoks SQL-i vaadet ja kirjete allikana SQL-i indekseeritud vaadet.

  • Aruannete korral kasutage SQL-i vaadet kirje allikana. Siiski saate iga aruande jaoks luua eraldi vaate, nii et saate kindla aruande hõlpsalt värskendada, mõjutamata muid aruandeid.

Vormi või ettekande andmete laadimise minimeerimine    Ära kuva andmeid enne, kui kasutaja seda soovib. Näiteks jätke atribuudi RecordSource tühjaks, et kasutajad valivad vormil filtri ja seejärel RecordSource atribuudi filtriga. Samuti saate kasutada WHERE-klauslit DoCmd meetodit. OpenForm ja DoCmd meetodit. OpenReport, et kuvada kasutaja jaoks vajalik täpne kirje (ID). Kaaluge kirjete navigeerimise väljalülitamist.

Olge ettevaatlikud erineva päringuga   Vältige päringut, mis ühendab kohalikku Accessi tabelit ja SQL serveri lingitud tabelit, mida mõnikord nimetatakse hübriid-päringuks. Seda tüüpi päring vajab endiselt juurdepääsu, et laadida kõik SQL serveri andmed kohalikku arvutisse ja seejärel käivitada päring, see ei Käivita SQL serveri päringut.

Kohalike tabelite kasutamine    Arvestage kohalike tabelite kasutamisega andmete jaoks, mis harva muutuvad (nt riigi või piirkonna osariikide või maakondade loend). Staatilised tabelid kasutatakse sageli filtreerimiseks ja neid saab kasutada ka Accessi esiotsas.

Lisateavet leiate teemast andmebaasi mootori häälestamise nõunik, et optimeerida Accessi andmebaasija optimeerida SQL serveriga lingitud Microsoft Office Accessi rakendusi.

Vt ka

Azure ' i andmebaasi migreerimise juhend

Microsofti andmete migreerimise ajaveeb

Microsoft Access SQL serveri migreerimiseks, teisendamine ja suuruse muutmine

Accessi töölauaandmebaasi ühiskasutamise viisid

Märkus.:  See leht on tõlgitud automaatselt ning sellel võib leiduda grammatikavigu ja ebatäpsusi. Tahame, et sellest sisust oleks teile abi. Andke meile teada, kui see teave oli teile abiks. Soovi korral saate ingliskeelset artiklit lugeda siit.​

Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×