Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.
Migracija baze podataka programa Access na SQL poslužitelj

Svi imamo ograničenja, a baza podataka programa Access nije iznimka. Baza podataka programa Access, primjerice, ima ograničenje veličine od 2 GB i ne može podržavati više od 255 istodobnih korisnika. Dakle, kada je vrijeme da baza podataka programa Access prijeđu na sljedeću razinu, možete migrirati na SQL Server. SQL Server (bilo lokalno ili u oblaku platforme Azure) podržava veće količine podataka, više istodobnih korisnika i ima veći kapacitet od modula baze podataka JET/ACE. Ovaj vodič omogućuje nesmetan početak vašeg SQL Server, pomaže u očuvanju pristupnih rješenja programa Access koje ste stvorili i, nadamo se, motivira vas da koristite Access za buduća rješenja baze podataka. Čarobnjak za prijelaz na SQL Server uklonjen je iz programa Access u programu Access 2013, pa sada možete koristiti Microsoftov pomoćnik za SQL Server migracije (SSMA). Da biste uspješno migrirali, slijedite ove faze.

Faze migracije baze podataka u SQL Server

Prije početka

U sljedećim odjeljcima navedene su pozadinske informacije i druge informacije koje će vam olakšati početak rada.

O podijeljenim bazama podataka

Svi objekti baze podataka programa Access mogu se nalaziti u jednoj datoteci baze podataka ili se mogu pohraniti u dvije datoteke baze podataka: pristupna baza podataka i stražnja baza podataka. To se naziva podjela baze podataka i osmišljena je tako da olakšava zajedničko korištenje u mrežnom okruženju. Datoteka krajnje baze podataka mora sadržavati samo tablice i odnose. Datoteka sučelja mora sadržavati samo sve druge objekte, uključujući obrasce, izvješća, upite, makronaredbe, VBA module i povezane tablice u stražnjoj bazi podataka. Kada migrirate bazu podataka programa Access, ona je slična podijeljenoj bazi podataka u toj SQL Server djeluje kao novi back-end za podatke koji se sada nalaze na poslužitelju.

Zbog toga i dalje možete održavati pristupne baze podataka programa Access s povezanim tablicama s SQL Server tablicama. Učinkovito možete iskoristiti prednosti brzog razvoja aplikacija koje pruža baza podataka programa Access, kao i skalabilnost SQL Server.

SQL Server prednosti

Još uvijek je potrebno nešto uvjerljivo za migraciju SQL Server? Evo nekih dodatnih pogodnosti koje možete razmišljati o:

  • Više istodobnih korisnika    SQL Server može rukovati s mnogo više istodobnih korisnika od programa Access i minimizirati memorijske preduvjete prilikom dodavanja više korisnika.

  • Veća dostupnost    Uz SQL Server, možete dinamički sigurnosno kopiranje, bilo inkrementalno ili dovršavanje, bazu podataka dok se koristi. Zahvaljujući tome, korisnici ne moraju zatvoriti bazu podataka da bi stvorili njenu sigurnosnu kopiju.

  • Visoke performanse i skalabilnost    Baza SQL Server obično funkcionira bolje od baze podataka programa Access, osobito s velikom bazom podataka veličine terabajta. Osim toga, SQL Server upite obrađuje mnogo brže i učinkovito paralelnom obradom upita pomoću više nativnih niti unutar jednog procesa za obradu korisničkih zahtjeva.

  • Poboljšana sigurnost    Pomoću pouzdane veze SQL Server sa sigurnošću sustava Windows radi pružanja jedinstvenog integriranog pristupa mreži i bazi podataka, koristeći najbolje od oba sigurnosna sustava. Time se znatno pojednostavnjuje administriranje složenih sigurnosnih shema. SQL Server je idealan prostor za pohranu osjetljivih podataka, kao što su brojevi socijalnog osiguranja, podaci o kreditnoj kartici i adrese koje su povjerljive.

  • Mogućnost trenutačnog oporavka     Ako se operacijski sustav ruši ili se napajanje isključi, SQL Server može automatski oporaviti bazu podataka u dosljedno stanje u roku od nekoliko minuta i bez intervencije administratora baze podataka.

  • Korištenje VPN-a    Pristup i virtualne privatne mreže (VPN) ne slagati. No uz SQL Server korisnici mogu koristiti pristupnu bazu podataka programa Access na radnoj površini i stražnju SQL Server koja se nalazi iza VPN vatrozida.

  • Azure SQL Server    Osim prednosti programa SQL Server, nudi dinamičnu skalabilnost bez nevreme, inteligentnu optimizaciju, globalnu skalabilnost i dostupnost, uklanjanje hardverskih troškova i smanjenu administraciju.

Odaberite najbolju mogućnost SQL Server Azure

Ako migrirate na Azure SQL Server, postoje tri mogućnosti koje možete odabrati, svaka s različitim prednostima:

  • Jednostruka baza podataka / elastični bazeni    Ova mogućnost ima vlastiti skup resursa kojima se upravlja putem poslužitelja SQL baze podataka. Jedna baza podataka je kao sadržana baza podataka u SQL Server. Možete dodati i elastični skup, koji je zbirka baza podataka sa zajedničkim skupom resursa kojima se upravlja putem poslužitelja sql baze podataka. Najčešće korištene značajke SQL Server dostupne su uz ugrađene sigurnosne kopije, zakrpe i oporavak. No ne postoji zajamčeno točno vrijeme održavanja i migracija s SQL Server može biti teška.

  • Upravljana instanca    Ta je mogućnost zbirka sistemskih i korisničkih baza podataka sa zajedničkim skupom resursa. Upravljana instanca je kao instanca SQL Server baze podataka koja je vrlo kompatibilna s SQL Server lokalno. Upravljana instanca sadrži ugrađene sigurnosne kopije, zakrpe, oporavak te je jednostavno migrirati s SQL Server. No postoji mali broj značajki SQL Server koje nisu dostupne i bez zajamčenog točnog vremena održavanja.

  • Virtualno računalo za Azure    Ta vam mogućnost omogućuje pokretanje SQL Server unutar virtualnog računala u oblaku platforme Azure. Imate potpunu kontrolu nad modulom SQL Server i jednostavan put migracije. No morate upravljati sigurnosnim kopijama, zakrpama i oporavkom.

Dodatne informacije potražite u člancima Odabir puta za migraciju baze podataka na Azurei Što je Azure SQL?.

Prvi koraci

Nekoliko je problema koje možete riješiti unaprijed da biste pojednostavnili postupak migracije prije pokretanja SSMA-e:

  • Dodavanje indeksa tablice i primarnih ključeva    Provjerite ima li svaka tablica programa Access indeks i primarni ključ. SQL Server zahtijeva da sve tablice imaju barem jedan indeks i da povezana tablica mora imati primarni ključ ako je tablicu moguće ažurirati.

  • Provjera odnosa primarnog/vanjskog ključa    Provjerite temelje li se ti odnosi na poljima s dosljednim vrstama i veličinama podataka. SQL Server ne podržava spojene stupce s različitim vrstama podataka i veličinama u ograničenjima vanjskog ključa.

  • Uklanjanje stupca Privitak    SSMA ne migrira tablice koje sadrže stupac Privitak.

Prije pokretanja SSMA-e učinite sljedeće.

  1. Zatvorite bazu podataka programa Access.

  2. Provjerite jesu li trenutni korisnici povezani s bazom podataka i zatvorili bazu podataka.

  3. Ako je baza podataka u .mdb, uklonite sigurnost na razini korisnika.

  4. Sigurnosno kopirajte bazu podataka. Dodatne informacije potražite u članku Zaštita podataka pomoću postupka sigurnosnog kopiranja i vraćanja.

Savjet    Razmislite o instalaciji microsoftovog SQL Server Express na radnu površinu koje podržava do 10 GB i besplatan je i jednostavniji način za pokretanje i provjeru migracije. Kada se povežete, kao instancu baze podataka koristite LocalDB.

Savjet    Ako je moguće, koristite samostalnu verziju programa Access. Ako bazu podataka programa Access Microsoft 365, pomoću modula baze podataka programa Access 2010 migrirajte bazu podataka programa Access prilikom korištenja SSMA-e. Dodatne informacije potražite u članku Modul baze podataka programa Microsoft Access 2010 za slobodnu distribuciju.

Pokreni SSMA

Microsoft pruža Microsoft SQL Server pomoćnika za migraciju (SSMA) da bi olakšao migraciju. SSMA uglavnom migrira tablice i upite odabiranja bez parametara. Obrasci, izvješća, makronaredbe i VBA moduli ne pretvaraju se. U SQL Server metapodataka prikazuju se objekti baze podataka programa Access SQL Server objekti koji omogućuju pregled trenutnog sadržaja obiju baza podataka. Te se dvije veze spremaju u datoteku za migraciju ako ubuduće odlučite prenijeti dodatne objekte.

Napomena    Postupak migracije može potrajati neko vrijeme ovisno o veličini objekata baze podataka i količini podataka koji se moraju prenijeti.

  1. Da biste migrirali bazu podataka pomoću SSMA-a, najprije preuzmite i instalirajte softver tako da dvokliknete preuzetu MSI datoteku. Provjerite jeste li instalirali odgovarajuću 32 ili 64-bitnu verziju za računalo.

  2. Kada instalirate SSMA, otvorite ga na radnoj površini, po mogućnosti s računala s datotekom baze podataka programa Access.

    Možete je otvoriti i na računalu koje ima pristup bazi podataka programa Access iz mreže u zajedničkoj mapi.

  3. Slijedite upute za početak u SSMA-u da biste natvorili osnovne informacije kao što su SQL Server mjesto, baza podataka programa Access i objekti za migraciju, informacije o vezi i želite li stvoriti povezane tablice.

  4. Ako migrirate na SQL Server 2016 ili noviju verziju i želite ažurirati povezanu tablicu, dodajte stupac za rowversion tako da odaberete Alati za pregled >Postavke projekta >Općenito.

    Polje rowversion pridonosi izbjegavanju sukoba zapisa. Access koristi ovo polje za rowversion u SQL Server povezanoj tablici da bi odredio kada je zapis zadnji put ažuriran. Osim toga, ako polje rowversion dodate u upit, Access ga koristi za ponovno odabir retka nakon operacije ažuriranja. Time se poboljšava učinkovitost tako što se izbjegavaju pogreške u sukobu pisanja i scenariji brisanja zapisa koji se mogu dogoditi kada Access otkrije različite rezultate od izvornog slanja, kao što bi se moglo dogoditi s vrstama podataka s pomičnim zarezom i aktivira izmjenu stupaca. No nemojte koristiti polje rowversion u obrascima, izvješćima ili VBA kodu. Dodatne informacije potražite u članku rowversion.

    Napomena    Izbjegavajte zbunjujuće rowversion s timestamps. Iako je vremenska oznaka ključne riječi sinonim za rowversion u SQL Server, rowversion ne možete koristiti kao način za vremensku oznaku unosa podataka.

  5. Da biste postavili precizne vrste podataka, odaberite Pregled alata > Postavke projekta >mapiranje vrsta. Ako, primjerice, pohranjujete samo tekst na engleskom jeziku, umjesto vrste podataka nvarchar možete koristiti varchar .

Pretvori objekte

SSMA objekte programa Access pretvara SQL Server objekte, ali ne kopira objekte odmah. SSMA nudi popis sljedećih objekata za migraciju da biste mogli odlučiti želite li ih premjestiti u SQL Server bazu podataka:

  • Tablice i stupci

  • Odaberite Upiti bez parametara.

  • Primarni i vanjski ključevi

  • Indeksi i zadane vrijednosti

  • Provjera ograničenja (dopusti svojstvo stupca nulte duljine, pravilo provjere valjanosti stupca, provjera valjanosti tablice)

Najbolje je koristiti izvješće o procjeni SSMA-e u kojem se prikazuju rezultati pretvorbe, uključujući pogreške, upozorenja, informativne poruke, procjene vremena za migraciju i pojedinačne korake ispravljanja pogrešaka koje je potrebno poduzeti prije premještanja objekata.

Pretvorbom objekata baze podataka dohvaćaju se definicije objekata iz metapodataka programa Access, pretvaraju se u ekvivalentnu sintaksu transact-SQL (T-SQL), a zatim te informacije učitavaju u projekt. Zatim možete pogledati objekte SQL Server SQL Azure i njihova svojstva pomoću preglednika metapodataka SQL Server SQL Azure.

Da biste pretvorili, učitavali i migrirali objekte u SQL Server, Slijedite ovaj vodič.

Savjet    Kada uspješno migrirate bazu podataka programa Access, spremite datoteku projekta za kasnije korištenje da biste mogli ponovno migrirati podatke radi testiranja ili konačne migracije.

Povezivanje tablica

Razmislite o instaliranju najnovije verzije SQL Server OLE DB i ODBC upravljačkih programa umjesto korištenja nativnih upravljačkih SQL Server koji se i otpreme u sustavu Windows. Ne samo da su noviji upravljački programi brži, već podržavaju nove značajke u sustavu Azure SQL koje prethodni upravljački programi ne podržavaju. Upravljačke programe možete instalirati na svako računalo na kojem se koristi pretvorena baza podataka. Dodatne informacije potražite u članku Microsoft OLE DB upravljački program 18 za SQL Serveri Microsoft ODBC upravljački program 17 za SQL Server.

Kada migrirate tablice programa Access, možete se povezati s tablicama u SQL Server koje sada hostiraju podatke. Povezivanje izravno iz programa Access omogućuje i jednostavniji prikaz podataka umjesto korištenja složenih alata za SQL Server upravljanje.  Povezane podatke možete upućivanja i uređivanja, ovisno o dozvolama koje je postavio administrator SQL Server baze podataka.

Napomena    Ako stvorite ODBC DSN prilikom povezivanja s bazom podataka sustava SQL Server tijekom postupka povezivanja, stvorite isti DSN na svim računalima koja koriste novu aplikaciju ili programski koriste niz za povezivanje pohranjene u DSN datoteci.

Dodatne informacije potražite u članku Povezivanje s podacima ili uvoz podataka iz baze podataka sustava Azure SQL Server uvoz podataka ili povezivanje s njima u bazi SQL Server bazi podataka.

Savjet   Ne zaboravite koristiti upravitelj povezanih tablica u programu Access da biste jednostavno osvježili i ponovno povezali tablice. Dodatne informacije potražite u članku Upravljanje povezanim tablicama.

Testiranje i revizija

U sljedećim se odjeljcima opisuju uobičajeni problemi na koje možete naići tijekom migracije i kako se nositi s njima.

Upiti

Pretvaraju se samo upiti odabiranja; drugi upiti nisu, uključujući upite odabiranja koji koriste parametre. Neki upiti možda neće u potpunosti pretvoriti, a SSMA izvješćuje o pogreškama upita tijekom postupka pretvorbe. Objekte koji se ne pretvaraju možete ručno uređivati pomoću T-SQL sintakse. Pogreške sintakse mogu zahtijevati i ručno pretvaranje funkcija i vrsta podataka specifičnih za Access u SQL Server vrste podataka. Dodatne informacije potražite u članku Usporedba sql-a programa Access SQL Server TSQL.

Vrste podataka

Access i SQL Server imaju slične vrste podataka, ali imajte na umu sljedeće potencijalne probleme.

Veliki broj    Vrsta podataka Veliki brojevi pohranjuje brojčanu vrijednost koja nije novčana i kompatibilna je s vrstom podataka SQL bigint. Tu vrstu podataka možete koristiti za učinkovito izračunavanje velikih brojeva, ali za to je potreban oblik datoteke baze podataka Access 16 (16.0.7812 ili novija) .accdb i bolje funkcionira s 64-bitnom verzijom programa Access. Dodatne informacije potražite u člancima Korištenje vrste podataka Veliki brojevi i Odabir između 64-bitne ili 32-bitne verzije sustava Office.

Da/ne    Stupac Da/ne programa Access po zadanom se pretvara u polje SQL Server bit. Da biste izbjegli zaključavanje zapisa, provjerite je li polje bit postavljeno tako da ne dopušta vrijednosti NULL. U SSMA-u možete odabrati stupac bita da biste svojstvo Allow Nulls postavili na NE. U TSQL-u koristite naredbe CREATE TABLEili ALTER TABLE .

Datum i vrijeme    Nekoliko je pitanja o datumu i vremenu:

  • Ako je razina kompatibilnosti baze podataka 130 (SQL Server 2016) ili novija, a povezana tablica sadrži jedan ili više stupaca datetime ili datetime2, tablica može vratiti poruku #deleted u rezultatima. Dodatne informacije potražite u članku Povezana tablica programa Access s SQL-Server vraća #deleted.

  • Pomoću vrste podataka Datum/vrijeme programa Access mapiranje na vrstu podataka datetime. Pomoću vrste podataka Datum/vrijeme proširenog pristupa mapiranje na vrstu podataka datetime2 koja ima veći raspon datuma i vremena. Dodatne informacije potražite u članku Korištenje vrste podataka Datum/vrijeme Prošireno.

  • Prilikom upita za datume SQL Server, uzmite u obzir vrijeme, kao i datum. Na primjer:

    • DateOrdered Between 1/1/19 and 1/31/19 možda neće obuhvaćati sve narudžbe.

    • DateOrdered Between 1/1/19 00:00:00 And 31/19 19:59:59 PM ne uključuje sve narudžbe.

Privitak   Vrsta podataka Privitak pohranjuje datoteku u bazu podataka programa Access. U SQL Server, možete uzeti u obzir nekoliko mogućnosti. Datoteke možete izdvojiti iz baze podataka programa Access, a zatim u bazu podataka programa SQL Server pohranjivati veze na datoteke. Možete i koristiti FILESTREAM, FileTables ili Udaljeno spremište BLOB-a (RBS) da biste zadržali privitke pohranjene u SQL Server bazi podataka.

Hipervezu    Tablice programa Access sadrže stupce hiperveza SQL Server ne podržavaju. Ti će se stupci po zadanom pretvoriti u stupce nvarchar(max) u SQL Server, ali mapiranje možete prilagoditi tako da odaberete manju vrstu podataka. U rješenju programa Access i dalje možete koristiti ponašanje hiperveze u obrascima i izvješćima ako svojstvo Hyperlink za kontrolu postavite na true.

Polje s više vrijednosti    Polje s više vrijednosti programa Access pretvara se u SQL Server kao polje ntext koje sadrži razgraničeni skup vrijednosti. Budući da SQL Server ne podržava vrstu podataka s više vrijednosti koja predstavlja model odnosa više-prema-više, možda će biti potreban dodatni rad na dizajnu i pretvorbi.

Dodatne informacije o mapiranju vrsta podataka programa Access SQL Server vrste podataka potražite u članku Usporedba vrsta podataka.

Napomena    Polja s više vrijednosti se ne pretvaraju.

Dodatne informacije potražite u člancima Vrste datuma i vremena, Vrste nizova i binarnih datoteka te Numeričke vrste.

Visual Basic

Premda VBA ne podržava SQL Server, imajte na umu sljedeće moguće probleme:

VBA funkcije u upitima    Upiti programa Access podržavaju VBA funkcije na podacima u stupcu upita. No upite programa Access koji koriste VBA funkcije nije moguće pokrenuti SQL Server, pa se svi zatraženi podaci prosljeđuju u Microsoft Access radi obrade. U većini slučajeva te upite treba pretvoriti u prolazne upite.

Korisnički definirane funkcije u upitima    Upiti programa Microsoft Access podržavaju korištenje funkcija definiranih u VBA modulima za obradu podataka koji su im proslijeđeni. Upiti mogu biti samostalni upiti, SQL naredbe u izvorima zapisa obrasca/izvješća, izvori podataka kombiniranih okvira i okviri popisa na obrascima, izvješćima i poljima tablice te zadani izrazi ili izrazi pravila provjere valjanosti. SQL Server ne može pokrenuti te korisnički definirane funkcije. Možda ćete morati ručno redizajnirati te funkcije i pretvoriti ih u pohranjene procedure na SQL Server.

Optimiziranje performansi

Dosad je najvažnije optimizirati performanse s novim, back-end SQL Server je odlučiti kada koristiti lokalne ili udaljene upite. Kada migrirate podatke na SQL Server, prebacujete se i s datotečnog poslužitelja na model računalne baze podataka klijentskog poslužitelja. Slijedite ove opće smjernice:

  • Pokrenite male upite samo za čitanje na klijentu radi bržeg pristupa.

  • Pokrenite dugačke upite za čitanje/pisanje na poslužitelju da biste iskoristili veću snagu obrade.

  • Minimizirajte mrežni promet pomoću filtara i agregacije da biste prenijeli samo podatke koji su vam potrebni.

Optimiziranje performansi u modelu baze podataka klijentskog poslužitelja

Dodatne informacije potražite u članku Stvaranje prolaznog upita.

U nastavku su navedene dodatne preporučene smjernice.

Postavljanje logike na poslužitelj     Aplikacija može koristiti i prikaze, korisnički definirane funkcije, pohranjene procedure, izračunata polja i okidače za centralizaciju i zajedničko korištenje aplikacijske logike, poslovnih pravila i pravilnika, složenih upita, provjere valjanosti podataka i koda referencijalnog integriteta na poslužitelju, a ne na klijentu. Zapitajte se može li ovaj upit ili zadatak biti izvršen na poslužitelju bolje i brže? Na kraju testirajte svaki upit da biste osigurali optimalne performanse.

Korištenje prikaza u obrascima i izvješćima    U programu Access učinite sljedeće:

  • Za obrasce koristite SQL prikaz za obrazac samo za čitanje i SQL indeksirani prikaz za obrazac za čitanje/pisanje kao izvor zapisa.

  • Za izvješća koristite SQL prikaz kao izvor zapisa. No stvorite zaseban prikaz za svako izvješće da biste lakše ažurirali određeno izvješće, a da pritom ne utječete na druga izvješća.

Minimiziranje učitavanja podataka u obrascu ili izvješću    Nemojte prikazivati podatke dok ih korisnik ne zatraži. Svojstvo izvor zapisa, primjerice, ostavite prazno, neka korisnici oda odabiru filtar na obrascu, a zatim svojstvo izvora zapisa popunjavaju filtrom. Ili upotrijebite uvjet where za DoCmd.OpenForm i DoCmd.OpenReport da biste prikazali točne zapise potrebne korisniku. Preporučujemo da isključite navigaciju zapisima.

Budite oprezni s heterogenim upitima   Izbjegavajte pokretanje upita koji kombinira lokalnu tablicu programa Access SQL Server povezanu tablicu, koja se ponekad naziva hibridnim upitom. Ta vrsta upita i dalje zahtijeva da Access preuzme sve SQL Server podatke na lokalno računalo, a zatim pokrene upit, ne pokreće upit u SQL Server.

Kada koristiti lokalne tablice    Razmislite o korištenju lokalnih tablica za podatke koji se rijetko mijenjaju, kao što su popis država ili pokrajina u državi ili regiji. Statične tablice često se koriste za filtriranje i mogu bolje funkcionirati na pristupni kraj programa Access.

Dodatne informacije potražite u članku Database Engine Tuning Advisor, Korištenje alat za analizu performansi za optimiziranje baze podataka programa Access i Optimiziranje aplikacija programa Microsoft Office Access povezane s SQL Server.

Dodatne informacije

Vodič za migraciju baze podataka platforme Azure

Blog o Microsoftovoj migraciji podataka

Microsoft Access za SQL Server migracije, pretvorbe i prijelaza na SQL Server

Načini zajedničkog korištenja baze podataka programa Access za stolna računala

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×