"Access" duomenų bazę perkelti į SQL serverio

Pastaba: Norėtume jums kuo greičiau pateikti naujausią žinyno turinį jūsų kalba. Šis puslapis išverstas automatiškai, todėl gali būti gramatikos klaidų ar netikslumų. Mūsų tikslas – padaryti, kad šis turinys būtų jums naudingas. Gal galite šio puslapio apačioje mums pranešti, ar informacija buvo naudinga? Čia yra straipsnis anglų kalba, kuriuo galite pasinaudoti kaip patogia nuoroda.

Turime iš ribų, ir "Access" duomenų bazės nėra išimtis. Pvz., "Access" duomenų bazės turi 2 GB dydžio limitą ir nepalaiko daugiau nei 255 vartotojai tuo pačiu metu. Todėl kai ateis laikas Access duomenų bazės eiti į kitą lygį, galite perkelti į SQL serverio. SQL serverio (ar vietiniame arba į Azure cloud) palaiko didesnę informacijos dalį duomenų, daugiau vienu metu vartotojams, ir turi daugiau nei JET/ACE duomenų bazės modulis. Šiame vadove pateikiama sklandžiai pradėti prie savo SQL serverio kelionės, padeda išsaugoti išorinės prieigos sprendimų sukūrėte, ir tikimės, kad skatina naudoti prieigos būsimą duomenų bazės sprendimų. Stambinimo vediklis buvo pašalintas iš "Access" programoje "Access 2013", Taigi, galite naudoti su "Microsoft" SQL serverio perkėlimo asistentas (SSMA). Sėkmingai perkelti, atlikite šiuos etapus.

SQL serverio duomenų bazės perkėlimo etapų

Prieš pradėdami

Šiuose skyriuose pateikiamos fono ir kitą informaciją, kurie padės jums pradėti.

Apie duomenų bazės skaidymas

Visi Access duomenų bazės objektai gali būti vienos duomenų bazės failą, arba jie gali būti saugomi du duomenų bazės failus: išorinę duomenų bazę ir vidinę duomenų bazę. Tai vadinama duomenų bazės skaidymas ir yra sukurti taip, kad būtų lengviau bendrinti tinklo aplinkoje. Vidinės duomenų bazės failas turi būti tik lenteles ir ryšius. Išorinės failas turi būti tik kitus objektus, įskaitant formas, ataskaitas, užklausas, makrokomandas, VBA modulių ir vidinės duomenų bazės lenteles, susietas. Kai norite perkelti "Access" duomenų bazės, jis yra panašus į perskirti duomenų bazę, kad SQL serverio veikia kaip naują vidinę duomenų, kurie yra serveryje.

Dėl to, jūs vis dar išlaikyti išorinės prieigos duomenų bazės lenteles, susietas su SQL serverio lenteles. Efektyviai, galite gauti greitą programų kūrimas, kuri teikia "Access" duomenų bazę, kartu su SQL serverio išplečiamumas nauda.

SQL serverio pranašumai

Vis dar reikia įtikinamai perkelti į SQL serverio? Štai keletas papildomų privilegijų galvoti apie:

  • Daugiau vienu metu vartotojai    SQL serverio galite tvarkyti daug daugiau vienu metu vartotojų už prieigą ir sumažina atminties reikalavimai įtraukus daugiau vartotojų.

  • Geresnis pasiekiamumas    Su SQL serverio, jūs galite dinamiškai kurti atsarginę kopiją, arba didinant arba baigta, duomenų bazės, kol jis bus naudojimas. Todėl jums nereikia versti vartotojų išeiti iš duomenų bazės, kad galėtumėte padaryti duomenų kopiją.

  • Didelis našumas ir išplečiamumas    SQL serverio duomenų bazės atlieka geriau nei programos Access duomenų bazės, ypač su didelius, terabaitais duomenų baze. Be to, SQL serverio procesų užklausų daug greičiau ir efektyviau apdoroti užklausas tuo pačiu metu, naudojant kelių paprastų gijų vienas procesas tvarkyti vartotojo užklausas.

  • Geresnė sauga    Naudojant patikimą ryšį, SQL serverio integruojasi su "Windows" sistemos saugos teikti integruotas prie tinklo ir duomenų bazėje, dirba geriausias abiejų saugos sistemos. Tai yra daug paprasčiau administruoti sudėtingos apsaugos sistemos. SQL serveris yra puiki saugojimo slaptos informacijos, pvz., socialinio draudimo numeriai, kredito kortelės duomenis, ir adresus, kurie konfidenciali.

  • Skubiai atkuriamumas    Jei operacinė sistema užstringa arba galios išeina, SQL serverio automatiškai atkurti duomenų bazę atitinka valstybės per kelias minutes ir be duomenų bazės administratoriaus pagalbos.

  • VPN naudojimas    Negauna prieigos ir virtualaus privačiojo tinklus (VPN). Bet su SQL serverio, nuotolinio vartotojai gali naudoti vis dar naudoti prieigos išorinės duomenų bazės darbalaukį ir vidinės SQL serverio už VPN užkardą.

Pirmieji žingsniai

Yra kelios problemos, galite aprašyti priekyje gali padėti supaprastinti perkėlimo procesą, prieš vykdydami SSMA:

  • Įtraukite lentelės indeksus ir pirminiai raktai    Įsitikinkite, kad kiekvienoje Access lentelėje yra indeksą ir pirminis raktas. SQL serveris reikalauja visas lenteles, kad bent vienas indeksas ir reikia susietoje lentelėje būtų pirminis raktas, jei galima naujinti lentelės.

  • Patikrinkite pirminės/išorinio rakto ryšiai    Įsitikinkite, kad šie ryšiai yra pagal laukai, kurių nuosekli duomenų tipus ir dydžius. SQL serveris nepalaiko sujungtų stulpelių, kuriuose yra skirtingų duomenų tipų ir dydžių užsienio pagrindiniai apribojimai.

  • Šalinti priedų stulpelis    SSMA nepavyksta perkelti lentelių, kuriose yra priedų stulpelis.

Prieš vykdydami SSMA, atlikite šiuos pirmą veiksmus.

  1. Uždarykite Access duomenų bazės.

  2. Įsitikinkite, kad dabartinės vartotojai, prisijungę prie duomenų bazės, taip pat uždaryti duomenų bazę.

  3. Jei duomenų bazė yra .mdb failo formatas, tada pašalinti vartotojo lygio saugos.

  4. Atsarginės duomenų bazės kopijos. Daugiau informacijos ieškokite duomenų apsauga, naudojant atsarginės kopijos ir atkūrimo procesus.

Patarimas    Apsvarstykite galimybę įdiegti "Microsoft" SQL Server Express edition jūsų kompiuteryje, kuri palaiko iki 10 GB ir yra nemokama ir lengviau būdas paleisti per ir patikrinkite savo perkėlimo.

Patarimas    Jei įmanoma, naudokite atskirą "Access" versiją. Jei galite naudoti tik "Office 365", naudokite "Access 2010" duomenų bazės modulis perkelti savo "Access" duomenų bazę, naudojant SSMA. Daugiau informacijos ieškokite Microsoft Access Database Engine 2010 Redistributable.

Vykdyti SSMA

"Microsoft" teikia "Microsoft" SQL serverio perkėlimo asistentas (SSMA), kad būtų lengviau perkėlimo. SSMA daugiausia perkelia lenteles ir pasirinkite be parametrizuotų užklausų. Formas, ataskaitas, makrokomandas ir VBA modulių nekonvertuojami.

  1. Norėdami perkelti duomenų bazę naudodami SSMA, pirmasis atsisiųsti ir įdiegti programinę įrangą, dukart spustelėję atsisiųsti MSI failą. Įsitikinkite, kad įdiegti atitinkamą 32 arba 64 bitų versija jūsų kompiuteryje.

  2. Įdiegus SSMA, atidarykite jį pageidautina iš kompiuterio su "Access" duomenų bazės failą savo darbalaukyje.

    Taip pat galite atidaryti jį tame kompiuteryje, kuris turi prieigą prie programos Access duomenų bazę iš tinklo bendrai naudojamame aplanke.

  3. Vykdykite pradžios SSMA pagrindinės informacijos, pvz., SQL serverio vietą ir Access duomenų bazės objektus, kuriuos norite perkelti, ryšio informaciją, ir ar norite sukurti susietų lentelių.

  4. Jei yra perkėlimas į SQL serverio 2016 ar naujesnę versiją ir norite atnaujinti susietą lentelę, pasirinkę Peržiūrėti priemones > Projekto parametrai > Bendrapridėti laiko Žymos stulpelio. Daugiau informacijos ieškokite prieigos Susietosios lentelės į SQL serverio duomenų bazės pateikia #deleted.

  5. Norėdami nustatyti tikslią duomenų tipus, pasirinkite Peržiūrėti priemones > Projekto parametrai > Tipo susiejimas. Pavyzdžiui, jei įrašote tik anglų kalba, galite naudoti varchar , o ne nvarchar duomenų tipą.

SQL serverio metaduomenų Explorer rodomas jūsų "Access" duomenų bazės objektai ir SQL serverio objektų leidžia jums peržiūrėti dabartinį turinį ir duomenų bazių. Šie du jungtis įrašomi perkėlimo faile turėtumėte nuspręsti perkelti papildomų objektų ateityje.

Pastaba    Perkėlimo procesas gali šiek tiek užtrukti, priklausomai nuo jūsų duomenų bazės objektų ir duomenis, kurie turi būti perkelti sumos dydžio.

Objektų konvertavimas

SSMA konvertuoja "Access" objektai į SQL serverio objektų, bet nekopijuoja objektus iš karto. SSMA pateikiamos toliau nurodyti objektai perkelti, kad galėtumėte nuspręsti, ar norite juos perkelti į SQL serverio duomenų bazės:

  • Lentelių ir stulpelių

  • Pasirinkite užklausos be parametrų.

  • Pirminių ir išorinių raktų

  • Indeksai ir numatytąsias reikšmes

  • Patikrinkite, ar apribojimų (leisti nulinio ilgio stulpelių ypatybės, stulpelio tikrinimo taisyklės, lentelės tikrinimo)

Kaip geriausia naudoti SSMA vertinimo ataskaita, rodanti konvertavimo rezultatus, įskaitant klaidų, įspėjimų, informacinių pranešimų, laikas apskaičiuoja atlikti perkėlimą, o atskirus klaidos taisymo veiksmus reikia atlikti prieš faktiškai perkelti į objektų.

Konvertavimas į duomenų bazės objektų įterpiamas objekto apibrėžimus iš "Access" metaduomenis, juos paverčia ekvivalentą (T-SQL) Transact-SQL sintaksė, o tada įkelia šią informaciją į projektą. Tada galite peržiūrėti SQL Server "arba" SQL Azure objektų ir jų ypatybės naudojant "SQL Server" arba "SQL Azure metaduomenų" Internet Explorer ".

Norėdami konvertuoti, įkelti ir perkelti objektus prie SQL serverio, naudotis šiuo vadovu.

Patarimas    Kartą sėkmingai perėjote jūsų Access duomenų bazės, įrašyti projekto failą naudoti vėliau, todėl galite perkelti duomenis iš naujo, tikrinimas, ar galutinis perkėlimo.

Saito lenteles

Apsvarstykite galimybę įdiegti naujausią SQL serverio OLE DB ir ODBC tvarkyklės, naudojant pritaikytą SQL serverio tvarkykles, pateiktų kartu su "Windows". Ne tik naujesnės tvarkyklės greičiau, bet jie palaiko naujų funkcijų SQL Azure, kuriuose ankstesnį tvarkykles. Kiekviename kompiuteryje, kuriuo yra naudojama konvertuoti duomenų bazę, galite įdiegti tvarkykles. Daugiau informacijos ieškokite "Microsoft" OLE DB tvarkyklę 18 SQL Server ir Microsoft ODBC tvarkyklė 17 SQL serverio.

Kai perkelsite Access lenteles, galite susieti su SQL serverio, kuris dabar yra duomenų lentelių. Susiejimo tiesiogiai iš "Access" taip pat suteikia jums paprasčiau peržiūrėti savo duomenis, o ne naudojant sudėtingesnius SQL serverio valdymo įrankiai.  Galite užklausti ir redaguokite susietus duomenis, atsižvelgiant į teises, nustatyti savo SQL serverio duomenų bazės administratorius.

Pastaba    Jei norite sukurti, ODBC DSN susiejant su savo SQL serverio duomenų bazės per susiejimo procesą, sukurti patį DSN visus mašinos, naudojant naują taikomąją programą.

Daugiau informacijos ieškokite saitas arba duomenų importavimas iš "Azure SQL Server" duomenų bazės ir importavimas arba susiejimas su "SQL Server" duomenų bazės duomenis.

Patarimas Nepamirškite naudoti susietų lentelių tvarkytuvą, programoje "Access" patogiai atnaujinti ir iš naujo susieti lenteles. Daugiau informacijos ieškokite valdyti susietų lentelių.

Tikrinimo ir peržiūrėti

Šiuose skyriuose aprašomos dažniausiai pasitaikančių problemų, galite susidurti su perkėlimo ir kaip juos spręsti.

Queries

Tik pasirinkite užklausų konvertuojami; Kitos užklausos nėra, įskaitant pasirinkite užklausas, kurios naudoja parametrus. Kai kurie klausimai gali ne visiškai konvertuoti ir SSMA ataskaitos užklausos klaidų konvertavimo proceso metu. Galite rankiniu būdu redaguoti objektus, kurie nėra konvertuoti naudojant T SQL sintaksė. Sintaksės klaidų taip pat gali reikėti rankiniu būdu konvertuoti prieigos konkrečios funkcijos ir duomenų tipai SQL serverio iš jų. Bendras SQL sintaksė skirtumai yra:

  • "Access" naudoja prisijungimo žvaigždutė (*) kaip pakaitos simbolį T SQL naudoja procento (%).

  • "Access" naudoja lentelės pavadinimų ir objektų kabutės. T-SQL jas naudoti lentelių pavadinimų tarpų, bet tai nėra standartinis pavadinimų praktikos. Dažniausiai turi pervardyti objektų pavadinimai be tarpų, bet užklausas taip pat perrašyti pagal naujus lentelės pavadinimus. Naudokite lentelių, negalima pervardyti bet kuri neatitinka standartų pavadinimų skliaustuose [].

  • Programa Access prideda papildomų skliaustelius aplink parametrų užklausų, kurios gali būti pašalinta.

  • SQL serverio tvarko nulinės reikšmės ir seka sujungimas skirtingai. Patikrinkite užklausas, kad užtikrinti tinkamą reikšmių grąžinami.

  • Sąlyginis ataskaitas, "Access" naudoja IIF T SQL dažnai naudoja atveju, nors SQL Server 2012 ir naujesnės versijos palaiko IIF.

  • Kelios funkcijos ir duomenų tipai yra skirtingai naudojamos "Access" ir "T-SQL. SSMA turėtų konvertuoti tai už jus, tačiau gali tekti pakeisti toliau rankiniu būdu.

Duomenų tipai

"Access" ir SQL serverio panašių duomenų tipais, tačiau Turėkite omenyje šiuos klausimus.

Daug duomenų tipas    Duomenų tipas yra daug ne pinigų, skaitinė reikšmė išsaugoma ir suderinamas su SQL bigint duomenų tipą. Galite naudoti šį duomenų tipą efektyviai apskaičiuoti daug bet reikia naudojant prieigos 16 (16.0.7812 arba naujesnė versija) .accdb duomenų bazės failo formatą ir geriau atlieka su Access 64 bitų versija. Daugiau informacijos ieškokite didelių skaičių duomenų tipą ir pasirinkti tarp Office 64 bitų arba 32 bitų versiją.

Priedas   Priedo tipas saugo Access duomenų bazės failą. "SQL Server", turite kelias parinktis. Galite išskleisti failus iš programos Access duomenų bazę ir tada Apsvarstykite saitus su failais "SQL Server" duomenų bazėje. Taip pat galite naudoti FILESTREAM arba FileTables išlaikyti priedų SQL serverio duomenų bazėje.

Hipersaitas    "Access" lentelių yra hipersaitas stulpelius, kurie nepalaiko SQL serverio. Pagal numatytuosius parametrus, šie stulpeliai, bus konvertuota į nvarchar(max) stulpelių "SQL Server", tačiau galite tinkinti susiejimą pasirinkti mažesnį duomenų tipą. Į jūsų "Access" sprendimas, vis dar galite naudoti hipersaito veikimo būdą, formose ir ataskaitose nustačius ypatybę hipersaito valdiklį į TRUE (teisinga).

Kelių reikšmių lauke    Access kelių reikšmių laukas yra konvertuojamas į SQL serverio kaip ntext lauką, kuriame yra atskirtų reikšmių rinkinys. „SQL Serveris“ nepalaiko kelių reikšmių duomenų tipo, kuris veikia kaip „daugelis su daugeliu“ ryšys, todėl gali prireikti papildomo kūrimo ir pertvarkymo darbo.

Daugiau informacijos apie susiejimo "Access" ir SQL serverio duomenų tipai, ieškokite palyginti duomenų tipai.

Pastaba    Kelių reikšmių laukai nekonvertuojami ir buvo nutraukti "Access 2010".

Visual Basic

Nors SQL serveris nepalaiko VBA, Atkreipkite dėmesį į šiuos klausimus, galima:

VBA funkcijos užklausose    Prieigos užklausų palaiko VBA funkcijos užklausos stulpelio duomenis. Tačiau prieigos užklausas, naudokite VBA funkcijos negalima paleisti SQL serverio, kad su "Microsoft Access" apdorojimo perduodama visus duomenis. Daugeliu atvejų šios užklausos turėtų būti konvertuoti į nuotolinio užklausų ( tiesioginės užklausos, saugomų procedūrų arba vaizdai), paleisti "SQL Server" optimaliam našumui.

Vartotojo apibrėžtos funkcijos užklausose    Microsoft Access užklausų palaikymo naudojimas VBA modulių tvarkyti duomenis perduoti apibrėžtas funkcijas. Užklausos gali būti atskiro užklausos, SQL ir formos/ataskaitos įrašų šaltinių, duomenų šaltinių pasirinktinio įvedimo laukus ir sąrašo laukus, formas, ataskaitas, lentelės laukai ir numatytoji arba tikrinimo taisyklių išraiškas. SQL serverio negalite atlikti šių vartotojo apibrėžtos funkcijos. Turite neautomatiniu būdu pertvarkyti šias funkcijas ir konvertuokite juos į saugomų procedūrų SQL serveryje.

Optimizuoti

Iki šiol svarbiausias būdas optimizuoti našumą naudojant naują, vidinės SQL serverio yra nuspręsti, kada naudoti vietinės arba nuotolinės užklausos. Kai norite perkelti savo duomenų prie SQL serverio, taip pat perkeliate į failų serverį iš kliento ir serverio duomenų bazės modelio skaičiavimo. Atsižvelkite į šias bendras gaires:

  • Mažas, tik skaityti užklausų vykdymas kliento greičiausias prieigos.

  • Vykdyti ilgas, skaitymo/rašymo užklausų pasinaudoti didesnis apdorojimo galia serveryje.

  • Sumažinti tinklo srautą su filtrus ir agregavimo tik duomenis, jums reikia.

Optimizuoti kliento serverio duomenų bazės modelio

Taikomosios programos taip pat galite naudoti vartotojo apibrėžtos funkcijos, saugomos procedūros ir jungiklių centralizuoti ir bendrinti taikomosios programos logika, verslo taisykles ir strategijas, sudėtingas užklausas, duomenų tikrinimo ir nuorodų vientisumo kodo serveryje, o ne į kliento.

Nevykdykite užklausą, kurioje vietos prieigą lentelę ir SQL serverio lentelę, dažnai vadinamą hibridinių užklausą. Tokio tipo užklausoje vis tiek turi prieigą prie atsisiųsti SQL serverio duomenis vietiniame kompiuteryje, ir tada vykdote užklausą, ji veikia užklausą "SQL Server".

Neatidarykite formos įrašų rinkinio pagal didelių lentelę arba išjungti įrašo naršymo.

Galiausiai, patikrinkite kiekvienos užklausos optimaliai.

Daugiau informacijos ieškokite Duomenų bazės modulis paslaugai konsultantas, naudokite veikimo analizės optimizuoti "Access" duomenų bazėsir Optimizuoti Microsoft Office Access taikomųjų programų su SQL serverio.

Taip pat žr.

Azure duomenų bazės perkėlimo vadovas

"Microsoft" duomenų perkėlimo interneto dienoraštis

Microsoft Access SQL serverio perkėlimo, konvertavimo ir stambinimo

„Access“ duomenų bazės bendrinimo būdai

Tobulinkite savo „Office“ įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×