Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.
Accessi andmebaasi migreerimine SQL Serverisse

Meil kõigil on piirangud ja Accessi andmebaas pole erand. Näiteks Accessi andmebaasi mahupiirang on 2 GB ja see ei toeta rohkem kui 255 samaaegset kasutajat. Kui teie Accessi andmebaasil on aeg minna järgmisele tasemele, saate migreerida SQL Server. SQL Server (nii kohapealne kui ka Azure'i pilv) toetab suuremat andmehulka, samaaegsemaid kasutajaid ja on suurema võimsusega kui andmebaasimootor JET/ACE. See juhend aitab teil SQL Server teekonna sujuvalt alustada, aitab säilitada teie loodud Accessi eeslahendusi ning motiveerib teid loodetavasti kasutama Accessi edaspidiste andmebaasilahenduste jaoks. Ülesmastaapimisviisard eemaldati Accessist rakenduses Access 2013, seega saate nüüd kasutada Microsoft SQL Server migreerimisabimeest (SSMA). Migreerimiseks järgige neid etappe.

Andmebaasi migreerimise etapid SQL Server

Enne alustamist

Järgmistes jaotistes on taustateave ja muu teave, mis aitab teil algust teha.

Tükeldatud andmebaasid

Kõik Accessi andmebaasiobjektid võivad olla ühes andmebaasifailis või kahes andmebaasifailis: ees- ja tagaandmebaasis. Seda nimetatakse andmebaasi tükeldamiseks ja selle eesmärk on hõlbustada ühiskasutust võrgukeskkonnas. Tagaandmebaasifail peab sisaldama ainult tabeleid ja seoseid. Eesfail peab sisaldama ainult kõiki muid objekte (sh vorme, aruandeid, päringuid, makrosid, VBA mooduleid ja tagaandmebaasi lingitud tabeleid). Accessi andmebaasi migreerimisel sarnaneb see tükeldatud andmebaasiga selles SQL Server toimib nüüd serveris asuvate andmete uue tagaandmebaasina.

Selle tulemusena saate endiselt hallata Accessi eesandmebaasi lingitud tabelitega SQL Server tabelitega. Saate tõhusalt tuletada Accessi andmebaasi kiirest rakendusearendusest tulenevaid eeliseid koos SQL Server mastaapitavusega.

SQL Server eelised

Kas vajate veel veenvat SQL Server migreerimiseks? Siin on mõned täiendavad eelised, mida mõelda.

  • Rohkem samaaegseid kasutajaid    SQL Server saab käsitleda paljusid samaaegseid kasutajaid kui Access ja minimeerib mäluvajadusi, kui lisatakse rohkem kasutajaid.

  • Suurem kättesaadavus    SQL Server abil saate andmebaasi dünaamiliselt varundada (astmeliselt või lõpule viia), kui andmebaas on kasutuses. Seetõttu ei pea te andmete varundamiseks sundima kasutajaid andmebaasist väljuma.

  • Suur jõudlus ja mastaabitavus    SQL Server andmebaas toimib tavaliselt paremini kui Accessi andmebaas, eriti suure terabaidisuurusega andmebaasi puhul. Lisaks töötleb SQL Server päringuid palju kiiremini ja tõhusamalt, töötledes päringuid paralleelselt, kasutades kasutajataotluste töötlemiseks ühes protsessis mitut omalõnga.

  • Täiustatud turve    Usaldusväärse ühenduse kasutamisel integreeruvad SQL Server Windowsi süsteemiturbega, et pakkuda ühtset integreeritud juurdepääsu võrgule ja andmebaasile, kasutades mõlema turbesüsteemi parimaid võimalusi. See lihtsustab keerukate turbeskeemide haldamist. SQL Server on ideaalne talletuskoht tundliku teabe (nt isikukoodide, krediitkaardiandmete ja konfidentsiaalsete aadresside) talletamiseks.

  • Kohene taastatavus     Kui operatsioonisüsteem jookseb kokku või toide läheb välja, saab SQL Server andmebaasi mõne minutiga automaatselt ühtsesse olekusse taastada ilma andmebaasiadministraatori sekkumiseta.

  • VPN-i kasutamine    Access ja virtuaalsed privaatvõrgud (VPN) ei saa kaasa. Kuid SQL Server saavad kaugkasutajad siiski kasutada Accessi eesandmebaasi töölaual ja VPN-i tulemüüri tagaosas asuvat SQL Server tagaserverit.

  • Azure SQL Server    Lisaks SQL Server eelistele pakub dünaamilist skaleeritavust ilma seisakuajata, nutika optimeerimisega, globaalse skaleeritavuse ja kättesaadavusega, riistvarakulude kõrvaldamisega ja haldusega.

Valige parim Azure SQL Server suvand

Kui migreerite Azure SQL Server, on teil kolm võimalust, millest igaühel on erinevad eelised.

  • Ühekordsed andmebaasi-/elastsed kogumid    See suvand sisaldab oma ressursikogumit, mida hallatakse SQL-andmebaasi serveri kaudu. Üks andmebaas on nagu SQL Server sisalduv andmebaas. Samuti saate lisada elastse kogumi, mis on SQL-andmebaasiserveri kaudu hallatava ühisressurssidekogumiga andmebaaside kogum. Kõige sagedamini kasutatavad SQL Server funktsioonid on saadaval sisseehitatud varukoopiate, paikamise ja taaste abil. Kuid ei ole tagatud täpset hooldusaega ja migreerimine SQL Server võib olla raske.

  • Hallatav eksemplar    See suvand on süsteemi- ja kasutajaandmebaaside kogum, millel on ühisressursid. Hallatav eksemplar sarnaneb SQL Server andmebaasi eksemplariga, mis ühildub SQL Server asutusesiseselt. Hallataval eksemplaril on sisseehitatud varukoopiad, paigad, taaste ja seda on lihtne SQL Server migreerida. Siiski on vähe SQL Server funktsioone, mis ei ole saadaval ja millel puudub tagatud täpne hooldusaeg.

  • Azure Virtual Machine    See suvand võimaldab teil SQL Server käitada Azure'i pilvteenuse virtuaalarvutis. Teil on täielik kontroll SQL Server mootori ja hõlpsa migreerimistee üle. Kuid peate haldama varukoopiaid, paiku ja taastet.

Lisateavet leiate teemadest Andmebaasi migreerimistee valimine Azure'i ja Mis on Azure SQL?.

Esimesed toimingud

Enne SSMA käivitamist saate migreerimisprotsessi sujuvamaks muuta.

  • Tabeliindeksite ja primaarvõtmete 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 et lingitud tabelil oleks primaarvõti, kui tabelit saab värskendada.

  • Primaar-/välisvõtme seoste kontrollimine    Veenduge, et need seosed põhineksid väljadel, millel on ühtsed andmetüübid ja -mahud. SQL Server ei toeta erinevate andmetüüpide ja -suurusega ühendatud veerge välisvõtme piirangutes.

  • Veeru Manus eemaldamine    SSMA ei migreeri tabeleid, mis sisaldavad veergu Manus.

Enne SSMA käivitamist tehke järgmist.

  1. Sulgege Accessi andmebaas.

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

  3. Kui andmebaas on .mdb failivormingus, siis eemaldage kasutajatasandi turve.

  4. Varundage andmebaas. Lisateavet leiate teemast Andmete kaitsmine varundus- ja taasteprotsesside abil.

Näpunäide    Kaaluge Microsofti SQL Server Express väljaande installimist töölauale, mis toetab kuni 10 GB ja on tasuta ja hõlpsam viis migreerimise läbimiseks ja kontrollimiseks. Ühenduse loomisel kasutage andmebaasieksemplarina LocalDB-i.

Näpunäide    Võimaluse korral kasutage Accessi autonoomst versiooni. Kui saate kasutada ainult Microsoft 365, siis kasutage Accessi andmebaasi migreerimiseks SSMA-ga Access 2010 andmebaasimootorit. Lisateavet leiate teemast Microsoft Access Database Engine 2010 Redistributable.

Käivita SSMA

Microsoft pakub migreerimise hõlbustamiseks Microsofti SQL Server migreerimisabimeest (SSMA). SSMA migreerib peamiselt tabeleid ja valikupäringuid ilma parameetriteta. Vorme, aruandeid, makrosid ja VBA-mooduleid ei teisendata. SQL Server Metadata Explorer kuvab teie Accessi andmebaasiobjektid ja SQL Server objektid, mis võimaldavad teil vaadata mõlema andmebaasi praegust sisu. Kui otsustate tulevikus täiendavaid objekte üle kanda, salvestatakse need kaks ühendust teie migreerimisfaili.

Märkus    Migreerimine võib võtta aega olenevalt teie andmebaasiobjektide mahust ja edastatavate andmete mahust.

  1. Andmebaasi migreerimiseks SSMA abil laadige esmalt alla ja installige tarkvara, topeltklõpsates allalaaditud MSI-faili. Installige kindlasti oma arvuti jaoks sobiv 32- või 64-bitine versioon.

  2. Pärast SSMA installimist avage see oma töölaual, eelistatavalt accessi andmebaasifailiga arvutist.

    Saate selle avada ka arvutis, millel on juurdepääs Accessi andmebaasile ühiskausta võrgu kaudu.

  3. Põhiteabe (nt SQL Server asukoht, Accessi andmebaas ja migreeritavad objektid, ühendusteave ja lingitud tabelite loomine) andmiseks järgige SSMA algusjuhiseid.

  4. Kui migreerite rakendusse SQL Server 2016 või uuemale versioonile ja soovite lingitud tabelit värskendada, lisage reavahetamise veerg, valides Läbivaatusriistad > Projektisätted > Üldine.

    Väli rowversion aitab vältida kirjekonflikte. Access kasutab seda reaversioonivälja SQL Server lingitud tabelis kirje viimatise värskendamise aja määramiseks. Kui lisate päringusse reaversiooni välja, kasutab Access seda rea uuesti valimiseks pärast värskendustoimingut. See parandab tõhusust, aidates vältida kirjutuskonfliktide tõrkeid ja kirjete kustutamise stsenaariume, mis võivad ilmneda siis, kui Access tuvastab algsest edastusest erinevaid tulemeid, näiteks ujukomaarvu andmetüüpide ja veergude muutmispäästikute korral. Vältige siiski rowversioni välja kasutamist vormides, aruannetes või VBA-koodis. Lisateavet leiate teemast Rowversion.

    Märkus    Vältige ajatemplitega reavahetamist. Kuigi märksõna ajatempel on SQL Server rowversioni sünonüüm, ei saa te kasutada ajatemplit andmesisestuse ajatemplina.

  5. Täpsete andmetüüpide määramiseks valige Läbivaatusriistad > Projektisätted > Tüübivastendus. Näiteks kui talletate ainult ingliskeelset teksti, saate andmetüübi nvarchar asemel kasutada muutuvpikkusega diagramme.

Objektide teisendamine

SSMA teisendab Accessi objektid SQL Server objektideks, kuid ei kopeeri objekte kohe. SSMA sisaldab järgmiste migreeritavate objektide loendit, et saaksite otsustada, kas soovite objektid SQL Server andmebaasi teisaldada.

  • Tabelid ja veerud

  • Valige Parameetriteta päringud.

  • Primaar- ja võõrvõtmed

  • Registrid ja vaikeväärtused

  • Kontrolli piiranguid (luba nullpikkusega veeruatribuut, veeru valideerimisreegel, tabeli valideerimine)

Parima tulemuse saamiseks kasutage SSMA hindamisaruannet, mis näitab teisendustulemusi (sh tõrked, hoiatused, teavitusteated, migreerimise ajahinnangud ja individuaalsed veaparandustoimingud enne objektide teisaldamist).

Andmebaasiobjektide teisendamisel kasutatakse Accessi metaandmetest objektimääratlusi, teisendatakse need samaväärseks Transact-SQL-i (T-SQL) süntaksiks ja laaditakse see teave projekti. Seejärel saate SQL Server või SQL Azure'i objekte ja nende atribuute vaadata, kasutades SQL Server või SQL Azure Metadata Explorerit.

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

Näpunäide    Kui olete Oma Accessi andmebaasi migreerinud, salvestage projektifail hilisemaks kasutamiseks, et saaksite testimiseks või lõplikuks migreerimiseks oma andmed uuesti migreerida.

Tabelite linkimine

Windowsiga saadetavate kohalike SQL Server draiverite kasutamise asemel võiksite installida SQL Server OLE DB ja ODBC draiverite uusima versiooni. Lisaks uuemate draiverite kiiremale versioonile toetavad need Azure SQL-i uusi funktsioone, mida eelmised draiverid ei toeta. Draiverid saate installida igasse arvutisse, kus teisendatud andmebaasi kasutatakse. Lisateavet leiate teemadest Microsoft OLE DB Driver 18 for SQL Server ja Microsoft ODBC Driver 17 for SQL Server.

Pärast Accessi tabelite migreerimist saate linkida tabelitega SQL Server, mis nüüd teie andmeid majutab. Otse Accessist linkimine pakub ka lihtsamat võimalust andmete vaatamiseks, mitte keerukamate SQL Server haldustööriistade kasutamiseks.  Saate lingitud andmete kohta päringuid teha ja redigeerida olenevalt sellest, millised õigused teie SQL Server andmebaasi administraator on häälestanud.

Märkus    Kui loote linkimise käigus oma SQL Server andmebaasiga linkimisel ODBC DSN-i, looge sama DSN kõigis arvutites, mis kasutavad uut rakendust, või programmiliselt DSN-faili salvestatud ühendusstring.

Lisateavet leiate teemadest Azure SQL Server andmebaasi andmetega linkimine või andmeteimportimine ja SQL Server andmebaasi andmete importimine või linkimine.

Näpunäide   Ärge unustage kasutada Accessis lingitud tabelite haldurit tabelite mugavaks värskendamiseks ja uuesti linkimiseks. Lisateavet leiate teemast Lingitud tabelite haldamine.

Testimine ja läbivaatamine

Järgmistes jaotistes kirjeldatakse migreerimise ajal ilmneda võivaid levinud probleeme ja nende lahendamist.

Päringud

Teisendatakse ainult valikupäringud; muud päringud pole( sh parameetritega valikupäringud). Mõned päringud ei pruugi teisendada täielikult ja SSMA teatab teisendamise käigus päringutõrkeid. T-SQL-süntaksi abil saate käsitsi redigeerida objekte, mida ei teisendata. Süntaksivigade korral võib olla vaja Accessi-kohased funktsioonid ja andmetüübid käsitsi SQL Server teisendada. Lisateavet leiate teemast Accessi SQL-i võrdlemine SQL Server TSQL-iga.

Andmetüübid

Accessis ja SQL Server on sarnaseid andmetüüpe, kuid pidage meeles järgmisi võimalikke probleeme.

Suur arv    Andmetüüp Suur arv talletab mitterahalist arvväärtust ja ühildub andmetüübiga SQL bigint. Seda andmetüüpi saate kasutada suurte arvude tõhusamaks arvutamiseks, kuid selleks on vaja Access 16 (16.0.7812 või uuemat) ACCDB-andmebaasifailivormingut ja see toimib paremini Accessi 64-bitise versiooniga. Lisateavet leiate teemadest Andmetüübi Suur arv kasutamine ja Office'i 64- või 32-bitise versiooni valimine.

Jah/ei    Accessi jah/ei veerg teisendatakse vaikimisi SQL Server bitiväljaks. Kirjete lukustamise vältimiseks veenduge, et bitiväli oleks seatud nullväärtusi keelama. SSMA-s saate valida bitiveeru, et seada atribuudi Allow Nulls (Luba nullid) väärtuseks NO (EI). Kasutage TSQL-is lauseid CREATE TABLE või ALTER TABLE .

Kuupäev ja kellaaeg    Kuupäeva ja kellaaja kaalutlusi on mitu.

  • Kui andmebaasi ühilduvustase on 130 (SQL Server 2016) või uuem ja lingitud tabel sisaldab ühte või mitut kuupäeva ja kellaaja 2 veergu, võib tabel tagastada teate, #deleted tulemites. Lisateavet leiate teemast Accessi lingitud tabel SQL-Server andmebaasi tagastab #deleted.

  • Kasutage andmetüüpi Accessi kuupäev/kellaaeg, et vastenduda kuupäeva ja kellaaja andmetüübiga. Andmetüübi Access Date/Time Extended abil saate vastenduda andmetüübiga datetime2 , millel on suurem kuupäeva- ja kellaajavahemik. Lisateavet leiate teemast Andmetüübi "Kuupäeva/kellaaja pikendatud" kasutamine.

  • SQL Server kuupäevade kohta päringu esitamisel võtke arvesse nii kellaaega kui ka kuupäeva. Siin on mõned näited.

    • DateOrdered Between 1/19 and 31.19.19 ei pruugi sisaldada kõiki tellimusi.

    • DateOrdered Between 1/19 00:00:00 AM And 31/19 11:59:59 PL sisaldab kõiki tellimusi.

Manus;   Andmetüüp Manus talletab faili Accessi andmebaasis. SQL Server on teil mitmeid võimalusi kaaluda. Saate failid Accessi andmebaasist ekstraktida ja seejärel kaaluda failide linkide talletamist oma SQL Server andmebaasis. Teise võimalusena saate SQL Server andmebaasis talletatavate manuste säilitamiseks kasutada FILESTREAMi, FileTables-faile või kaug-BLOB-salve (RBS).

Hüperlink    Accessi tabelitel on hüperlingiveerud, mida SQL Server ei toetata. Vaikimisi teisendatakse need veerud SQL Server veergudeks nvarchar(max), kuid väiksema andmetüübi valimiseks saate vastendust kohandada. Accessi lahenduses saate hüperlingi käitumist vormides ja aruannetes siiski kasutada, kui määrate juhtelemendi atribuudi Hüperlink väärtuseks tõene.

Mitmeväärtuseline väli    Accessi mitmeväärtuseline väli teisendatakse SQL Server ntexti väljaks, 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 Server andmetüüpide vastendamise kohta leiate teemast Andmetüüpide võrdlemine.

Märkus    Mitmeväärtuselist välja ei teisendata.

Lisateavet leiate teemadest Kuupäeva- ja kellaajatüübid, Stringi- ja binaartüübid ning Arvutüübid.

Visual Basic

Kuigi SQL Server ei toeta VBA-t, võtke arvesse järgmisi võimalikke probleeme.

VBA-funktsioonid päringutes    Accessi päringud toetavad VBA-funktsioone päringuveeru andmetega. Kuid Accessi päringuid, mis kasutavad VBA-funktsioone, ei saa SQL Server käitada, nii et kõik taotletud andmed edastatakse töötlemiseks Microsoft Accessile. Enamasti tuleks need päringud teisendada läbivateks päringuteks.

Kasutaja määratletud funktsioonid päringutes    Microsoft Accessi päringud toetavad VBA-moodulites määratletud funktsioonide kasutamist neile edastatud andmete töötlemiseks. Päringud võivad olla eraldiseisvad päringud, SQL-laused vormi-/aruandekirje allikates, vormide, aruannete ja tabeliväljade liitbokside ja loendibokside andmeallikad ning vaike- või valideerimisreegli avaldised. SQL Server ei saa neid kasutaja määratletud funktsioone käitada. Võimalik, et peate need funktsioonid käsitsi ümber kujundama ja SQL Server salvestatud protseduurideks teisendama.

Jõudluse optimeerimine

Kõige olulisem viis uute tagaserveri SQL Server abil jõudluse optimeerimiseks on otsustada, millal kasutada kohalikke või kaugpäringuid. Andmete migreerimisel SQL Server teisaldate ka failiserverist kliendi-serveri andmebaasimudelisse arvutuste jaoks. Järgige neid üldisi juhiseid.

  • Kiireima juurdepääsu saamiseks käivitage klientrakenduses väikesed kirjutuskaitstud päringud.

  • Suurema töötlusvõimsuse kasutamiseks saate serveris käitada pikki lugemis- ja kirjutuspäringuid.

  • Minimeerige filtrite ja koondamisega võrguliiklus, et edastada ainult vajalikud andmed.

Jõudluse optimeerimine klientserveri andmebaasimudelis

Lisateavet leiate teemast Läbiva päringu loomine.

Järgmised on täiendavad soovitatavad juhised.

Loogika paigutamine serverisse     Rakendus saab kasutada ka vaateid, kasutaja määratletud funktsioone, salvestatud protseduure, arvutatud välju ja päästikuid rakenduse loogika, ärireeglite ja poliitikate, keerukate päringute, andmete valideerimise ja viitamistervikluse koodi tsentreerimiseks ja jagamiseks serveris, mitte kliendis. Küsige endalt, kas seda päringut või toimingut saab serveris paremini ja kiiremini sooritada? Lõpuks testige iga päringut optimaalse jõudluse tagamiseks.

Vormides ja aruannetes vaadete kasutamine    Tehke Accessis järgmist.

  • Vormide puhul kasutage sql-i vaadet kirjutuskaitstud vormi jaoks ja SQL-i indekseeritud vaadet lugemis- ja kirjutamisvormi jaoks kirjeallikana.

  • Aruannetes kasutage kirjeallikana SQL-vaadet. Kuid looge iga aruande jaoks eraldi vaade, et saaksite hõlpsamini värskendada konkreetset aruannet, ilma et see mõjutaks muid aruandeid.

Vormi või aruande andmete laadimise minimeerimine    Ärge kuvage andmeid enne, kui kasutaja seda küsib. Näiteks jätke kirjeallika atribuut tühjaks, kasutajad valivad teie vormil filtri ja asustavad kirjeallika atribuudi oma filtriga. Või kasutage doCmd.OpenFormi ja DoCmd.OpenReporti where-klauslit, et kuvada täpsed kirjed, mida kasutaja vajab. Võiksite kirje navigeerimise välja lülitada.

Olge heterogeensete päringutega ettevaatlik   Vältige sellise päringu käitamist, mis kombineerib kohalikku Accessi tabelit ja SQL Server lingitud tabelit ,mida mõnikord nimetatakse hübriidpäringuks. Seda tüüpi päringu jaoks peab Access laadima kõik SQL Server andmed kohalikku arvutisse alla ja seejärel päringu käivitama, kuid päringut ei käivitata SQL Server.

Millal kasutada kohalikke tabeleid?    Kasutage kohalikke tabeleid andmete jaoks, mis harva muutuvad (nt riigi või piirkonna osariikide või provintside loend). Staatilisi tabeleid kasutatakse sageli filtreerimiseks ja need võivad Accessi eesserveris paremini toimida.

Lisateavet leiate teemadest andmebaasi mootori häälestusnõustaja, Jõudlusanalüsaator kasutamine Accessi andmebaasi optimeerimiseks ja SQL Server lingitud Microsoft Office Accessi rakenduste optimeerimine.

Lisateave

Azure'i andmebaasi migreerimise juhend

Microsofti andmete migreerimise ajaveeb

Microsoft Access SQL Server migreerimiseks, teisendamiseks ja ülesmastaapimiseks

Accessi töölauaandmebaasi ühiskasutamise viisid

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×