Prijavite se pomoću Microsoft naloga
Prijavite se ili kreirajte nalog.
Zdravo,
Izaberite drugi nalog.
Imate više naloga
Odaberite nalog pomoću kojeg želite da se prijavite.
Migriranje Access baze podataka na SQL server

Svi imamo ograničenja, a Access baza podataka nije izuzetak. Na primer, Access baza podataka ima ograničenje veličine od 2 GB i ne može da podrži više od 255 istovremenih korisnika. Dakle, kada dođe vreme da Access baza podataka ode na sledeći nivo, možete da migrirate u SQL Server. SQL Server (lokalno ili u Azure oblaku) podržava veće količine podataka, više istovremenih korisnika i ima veći kapacitet od JET/ACE mašine baze podataka. Ovaj vodič vam pruža nesmetan početak SQL Server putovanja, pomaže vam da sačuvate Access izložena rešenja koja ste napravili i nadajmo se da ćete koristiti Access za buduća rešenja za baze podataka. Čarobnjak za unapređivanje je uklonjen iz programa Access u programu Access 2013, tako da sada možete da koristite Microsoft SQL Server pomoćnik za migraciju (SSMA). Da biste uspešno migrirali, pratite ove faze.

Faze migracije baze podataka u SQL Server

Pre nego što počnete

Sledeći odeljci pružaju pozadinu i druge informacije koje će vam pomoći da počnete sa radom.

Osnovni podaci o razdeljenim bazama podataka

Svi objekti Access baze podataka mogu biti u jednoj datoteci baze podataka ili mogu biti uskladišteni u dve datoteke baze podataka: u izloženoj bazi podataka i potpornu bazu podataka. To se naziva razdeljivanje baze podataka i dizajnirana je da pomogne deljenje u mrežnom okruženju. Datoteka pozadinske baze podataka mora da sadrži samo tabele i relacije. Izložena datoteka mora da sadrži samo sve ostale objekte, uključujući obrasce, izveštaje, upite, makroe, VBA module i povezane tabele sa potpornom bazom podataka. Kada migrirate Access bazu podataka, to je slično razdeljenim bazama podataka u toj SQL Server se ponaša kao novi potporni sistem za podatke koji se sada nalaze na serveru.

Kao rezultat toga, i dalje možete da održavate izloženu Access bazu podataka sa povezanim tabelama sa SQL Server tabelama. Efikasno, možete da izvedene prednosti brzog razvoja aplikacija koje Access baza podataka pruža, zajedno sa upotrebljivošću SQL Server.

SQL Server pogodnosti

I dalje vam je potrebno ubeđivanje da migrirate u SQL Server? Evo nekih dodatnih prednosti o kojih možete da razmišljate:

  • Više istovremenih korisnika    SQL Server da rukuje mnogo više istovremenih korisnika od programa Access i smanjuje zahteve memorije kada se doda više korisnika.

  • Povećana dostupnost    Pomoću SQL Server možete da dinamički napravite rezervnu kopiju baze podataka, postepeno ili dovršeno, dok je u upotrebi. Zbog toga ne morate da zahtevate od korisnika da izađu iz baze podataka da biste napravili rezervnu kopiju podataka.

  • Visoke performanse i skalabilnost    Baza SQL Server obično radi bolje od Access baze podataka, posebno sa velikom bazom podataka veličine terabajta. Pored toga, SQL Server upite obrađuje mnogo brže i efikasno tako što paralelno obrađuje upite pomoću više izvornih niti u okviru jednog procesa za rukovanje korisničkim zahtevima.

  • Poboljšana bezbednost    Pomoću pouzdane veze, SQL Server se integriše sa Windows sistemom kako bi obezbedio jedan integrisan pristup mreži i bazi podataka i koristio oba bezbednosna sistema. To mnogo olakšava upravljanje složenim bezbednosnim šemama. SQL Server predstavlja idealno skladište za osetljive informacije kao što su brojevi socijalnog osiguranja, podaci kreditne kartice i adrese koje su poverljive.

  • Mogućnost trenutnog oporavka     Ako operativni sistem padne ili ne radi, SQL Server može automatski da oporavi bazu podataka u usaglašeno stanje za nekoliko minuta i bez intervencije administratora baze podataka.

  • Upotreba VPN-a    Access i Virtuelne privatne mreže (VPN) se ne sklapaju. Ali sa SQL Server, udaljeni korisnici i dalje mogu da koriste Access izloženu bazu podataka na radnoj površini i SQL Server pozadinski zid koji se nalazi iza VPN zaštitnog zida.

  • Azure SQL Server    Pored pogodnosti programa SQL Server, nudi dinamičku upotrebljivost bez zaostajanja, inteligentnu optimizaciju, globalnu upotrebljivost i dostupnost, eliminisanje troškova hardvera i smanjenu administraciju.

Odaberite najbolju Azure SQL Server opciju

Ako migrirate u Azure SQL Server, postoje tri opcije koje možete odabrati, od kojih svaka ima različite pogodnosti:

  • Jednostruke baze podataka/elastični bazeni    Ova opcija ima sopstveni skup resursa kojima se upravlja putem servera SQL baze podataka. Jedna baza podataka je kao baza podataka koja se nalazi u SQL Server. Možete da dodate i elastičnu grupu, koja predstavlja kolekciju baza podataka sa deljenim skupom resursa kojima se upravlja putem servera SQL baze podataka. Najčešće korišćene funkcije SQL Server su dostupne sa ugrađenim rezervnim kopijama, zakrpama i oporavkom. Ali nema zagarantovanog tačnog vremena održavanja i migracije SQL Server može biti teško.

  • Kontrolisana instanca    Ova opcija je kolekcija sistemskih i korisničkih baza podataka sa deljenim skupom resursa. Kontrolisana instanca je kao instanca SQL Server koja je veoma kompatibilna sa SQL Server lokalno. Kontrolisana instanca ima ugrađene rezervne kopije, zakrpa, oporavak i lako se migrira iz SQL Server. Međutim, postoji mali broj SQL Server funkcija koje nisu dostupne i nema garantovano tačno vreme održavanja.

  • Azure virtuelna mašina    Ova opcija vam omogućava da pokrenete SQL Server unutar virtuelne mašine u Azure oblaku. Imate potpunu kontrolu nad SQL Server i lakom putanjom migracije. Ali morate da upravljate rezervnim kopijama, zakrpama i oporavkom.

Više informacija potražite u člancima Izbor putanje migracije baze podataka u Azure i Šta je to Azure SQL?.

Prvi koraci

Postoji nekoliko problema koje možete da rešite ispred kojih možete da unapredite proces migracije pre nego što pokrenete SSMA:

  • Dodavanje indeksa tabele i primarnih ključeva    Uverite se da svaka Access tabela ima indeks i primarni ključ. SQL Server zahteva da sve tabele imaju najmanje jedan indeks i zahteva da povezana tabela ima primarni ključ ako se tabela može ažurirati.

  • Provera odnosa primarnog/sporednog ključa    Uverite se da su ove relacije zasnovane na poljima sa doslednim tipovima podataka i veličinama. SQL Server ne podržava spojene kolone sa različitim tipovima podataka i veličinama u ograničenjima sporednog ključa.

  • Uklanjanje kolone priloga    SSMA ne migrira tabele koje sadrže kolonu Prilog.

Pre nego što pokrenete SSMA, izvršite sledeće prve korake.

  1. Zatvorite Access bazu podataka.

  2. Uverite se da trenutni korisnici povezani sa bazom podataka takođe zatvaraju bazu podataka.

  3. Ako je baza podataka u .mdb, ondauklonite bezbednost na korisničkom nivou.

  4. Napravite rezervnu kopiju baze podataka. Više informacija potražite u članku Zaštita podataka procesima pravljenja rezervne kopije i vraćanja u prethodno stanje.

Savet    Razmotrite instaliranje izdanja Microsoft SQL Server Express na računaru koje podržava do 10 GB i predstavlja besplatan i lakši način da prođete kroz migraciju i proverite migraciju. Kada se povežete, koristite LocalDB kao instancu baze podataka.

Savet    Ako je moguće, koristite samostalnu verziju programa Access. Ako možete da koristite samo Microsoft 365, onda koristite Access 2010 mašinu baze podataka da biste migrirali Access bazu podataka kada koristite SSMA. Više informacija potražite u članku Microsoft Access mašina baze podataka 2010 Redistributable.

Pokretanje SSMA

Microsoft obezbeđuje Microsoft SQL Server za migraciju (SSMA) kako bi olakšao migraciju. SSMA uglavnom migrira tabele i upite za izdvajanje bez parametara. Obrasci, izveštaji, makroi i VBA moduli se ne konvertuju. Istraživač SQL Server metapodataka prikazuje objekte Access baze podataka SQL Server omogućavajući vam da pregledate trenutni sadržaj obe baze podataka. Ove dve veze se čuvaju u datoteci za migraciju ako odlučite da ubuduće prenosite dodatne objekte.

Napomena    Proces migracije može potrajati u zavisnosti od veličine objekata baze podataka i količine podataka koja se mora preneti.

  1. Da biste migrirali bazu podataka pomoću SSMA, prvo preuzmite i instalirajte softver tako što ćete kliknuti dvaput na preuzetu MSI datoteku. Uverite se da ste instalirali odgovarajuću 32 ili 64-bitnu verziju za računar.

  2. Kada instalirate SSMA, otvorite je na radnoj površini, po mogućstvu na računaru sa datotekom Access baze podataka.

    Takođe možete da je otvorite na računaru koji ima pristup Access bazi podataka sa mreže u deljenoj fascikli.

  3. Pratite početna uputstva u usluzi SSMA da biste obezbedili osnovne informacije kao što su lokacija SQL Server, Access baza podataka i objekti za migraciju, informacije o vezi i da li želite da kreirate povezane tabele.

  4. Ako migrirate u SQL Server 2016 ili noviju verzija i želite da ažurirate povezanu tabelu, dodajte kolonu za redverziju tako što ćete izabrati stavku Alatke za redigovanje >Postavke projekta > Opšte.

    Polje "rowversion" pomaže da se izbegnu neusaglašenosti zapisa. Access koristi ovo polje za redverziju u povezanoj SQL Server da bi utvrdio kada je zapis poslednji put ažuriran. Takođe, ako dodate polje "rowversion" u upit, Access ga koristi za ponovno izbor reda nakon operacije ažuriranja. To poboljšava efikasnost tako što pomaže da se izbegnu greške u neusaglašenosti u pisanju i scenariji brisanja zapisa do kojih može doći kada Access otkrije drugačije rezultate od originalnog prosleđivanja, na primer može da se pojavi sa tipovima podataka sa brojem plutajuće tačke i okidača koji menjaju kolone. Međutim, izbegavajte korišćenje polja "rowversion" u obrascima, izveštajima ili VBA kodu. Više informacija potražite u članku rowversion.

    Napomena    Izbegavajte mešanje rowversion sa vremenskim oznakama. Iako je vremenska oznaka ključne reči sinonim za redverziju u programu SQL Server, ne možete da koristite rowversion kao način za označavanje vremenske oznake unosa podataka.

  5. Da biste podesili precizne tipove podataka , izaberite stavku Alatke > postavke projekta > tip mapiranja. Na primer, ako skladištite samo engleski tekst, možete da koristite varchar umesto nvarchar tipa podataka.

Konvertovanje objekata

SSMA konvertuje Access objekte SQL Server u objekte, ali ih ne kopira odmah. SSMA pruža listu sledećih objekata za migraciju tako da možete da odlučite da li želite da ih premestite u SQL Server bazu podataka:

  • Tabele i kolone

  • Izaberite stavku Upiti bez parametara.

  • Primarni i sporedni ključevi

  • Indeksi i podrazumevane vrednosti

  • Ograničenja provere (dozvoli svojstvo kolone nulte dužine, pravilo za validaciju kolone, validaciju tabele)

Kao najbolju praksu, koristite izveštaj OSMA proceni koji prikazuje rezultate konverzije, uključujući greške, upozorenja, informativne poruke, procene vremena za obavljanje migracije i pojedinačne korake za ispravljanje grešaka koje treba preduzeti pre nego što stvarno premestite objekte.

Konvertovanje objekata baze podataka preuzima definicije objekata iz Access metapodataka, konvertuje ih u jednaku Transact-SQL (T-SQL) sintaksu, a zatim učitava ove informacije u projekat. Zatim možete da prikažete SQL Server ili SQL Azure objekte i njihova svojstva koristeći SQL Server ili SQL Azure istraživač metapodataka.

Da biste konvertovali, učitali i migrirali objekte u SQL Server, sledite ovaj vodič.

Savet    Kada uspešno migrirate Access bazu podataka, sačuvajte datoteku projekta za kasniju upotrebu, tako da možete ponovo da migrirate podatke radi testiranja ili konačne migracije.

Povezivanje tabela

Razmotrite instaliranje najnovije verzije SQL Server OLE DB i ODBC upravljačkih programa umesto izvornih SQL Server upravljačkih programa koji se isporučuju uz Windows. Ne samo da su novije upravljačke programe brži, već podržavaju i nove funkcije u Azure SQL-u koje stariji upravljački programi nemaju. Možete da instalirate upravljačke programe na svakom računaru na kojem se koristi konvertovana baza podataka. Više informacija 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 Access tabele, možete da se povežete sa tabelama u programu SQL Server koji sada hostuje podatke. Povezivanje direktno iz programa Access pruža i jednostavniji način za prikazivanje podataka umesto korišćenja složenijih alatki SQL Server upravljanja.  U zavisnosti od dozvola koje je podesio administrator baze podataka SQL Server podataka, možete izvršiti upite i uređivati povezane podatke.

Napomena    Ako kreirate ODBC DSN kada se povezujete sa SQL Server bazom podataka tokom procesa povezivanja, kreirajte isti DSN na svim računarima koji koriste novu aplikaciju ili programski koristite niska veze uskladišten u DSN datoteci.

Više informacija potražite u člancima Povezivanje sa podacima iz Azure SQL Server baze podataka ili povezivanje sa podacima u SQL Server podataka.

Savet   Ne zaboravite da koristite menadžer za povezane tabele u programu Access za jednostavno osvežavanje i ponovno povezivanje tabela. Više informacija potražite u članku Upravljanje povezanim tabelama.

Testirajte i korigujte

Sledeći odeljci opisuju uobičajene probleme na koje možete da naiđete tokom migracije i kako da se bavite njima.

Upiti

Konvertuju se samo upiti za izdvajanje; drugi upiti nisu, uključujući Upite za izdvajanje koji uzimaju parametre. Neki upiti se možda neće u potpunosti konvertovati i SSMA izveštaji prikazuju greške u upitima tokom procesa konverzije. Možete ručno da uredite objekte koji se ne konvertuju pomoću T-SQL sintakse. Sintaksne greške mogu zahtevati i ručno konvertovanje funkcija i tipova podataka specifičnih za Access SQL Server one. Više informacija potražite u članku Poređenje Access SQL-a sa SQL Server TSQL.

Tipovi podataka

Access i SQL Server imaju slične tipove podataka, ali budite svesni sledećih potencijalnih problema.

Veliki broj    Tip podataka "Veliki broj" skladišti numeričku vrednost koja nije novčana i kompatibilna je sa tipom podataka SQL bigint. Ovaj tip podataka možete da koristite za efikasno izračunavanje velikih brojeva, ali on zahteva korišćenje formata datoteke access 16 (16.0.7812 ili novije verzije) .accdb formata baze podataka i bolje radi sa 64-bitnom verzijom programa Access. Više informacija potražite u člancima Korišćenje tipa podataka " Veliki broj" i Izbor 64-bitne ili 32-bitne verzije sistema Office.

Da/ne    Access kolona "Da/ne" podrazumevano se konvertuje u polje SQL Server bita. Da biste izbegli zaključavanje zapisa, uverite se da je polje bita podešeno da onemogućava PRAZNE vrednosti. U funkciji SSMA, možete da izaberete bit kolonu da biste postavili svojstvo Allow Nulls na NE. U programu TSQL koristite izraz CREATE TABLE ili ALTER TABLE .

Datum i vreme    Postoji nekoliko stvari koje treba uzeti u obzir za datum i vreme:

  • Ako je nivo kompatibilnosti baze podataka 130 (SQL Server 2016) ili noviji, a povezana tabela sadrži jednu ili više kolona datuma ili datuma i vremena2, tabela može da vrati #deleted u rezultatima. Više informacija potražite u članku Access povezana tabela sa SQL-Server vraća #deleted.

  • Koristite Access tip podataka "Datum/vreme" da biste mapirali tip podataka "datum/vreme". Koristite Access tip podataka "Datum/vreme" da biste mapirali tip podataka datetime2 koji ima veći opseg datuma i vremena. Više informacija potražite u članku Korišćenje proširenog tipa podataka "Datum/vreme".

  • Prilikom upita za datume u SQL Server, uzmite u vidu vreme, kao i datum. Na primer:

    • DatumPoručeno Između 1.1.19. i 31.1.2019. možda neće biti uključene sve porudžbine.

    • DateOrdered Between 1/1/19 00:00:00 am And 1/31/19 11:59:59 PM sadrži sve porudžbine.

Prilog   Tip podataka Prilog skladišti datoteku u Access bazi podataka. U SQL Server, imate nekoliko opcija za razmatranje. Možete da izdvojite datoteke iz Access baze podataka, a zatim da razmotrite skladištenje veza do datoteka u SQL Server bazi podataka. Alternativno, možete da koristite FILESTREAM, FileTables ili Remote BLOB skladište (RBS) da biste priloge čuvali u SQL Server bazi podataka.

Hipervezu    Access tabele imaju kolone sa hipervezama koje SQL Server ne podržava. Te kolone će podrazumevano biti konvertovane u nvarchar(max) kolone u sistemu SQL Server, ali mapiranje možete prilagoditi da biste odabrali manji tip podataka. U Access rešenju i dalje možete da koristite ponašanje hiperveza u obrascima i izveštajima ako postavite svojstvo Hyperlink za kontrolu na tačno.

Polje sa više vrednosti    Access polje sa više vrednosti se konvertuje u SQL Server kao ntext polje koje sadrži razgraničeni skup vrednosti. Budući da SQL Server ne podržava tip podataka sa više vrednosti koji modeluje relaciju više-prema-više, možda će biti potrebno uložiti dodatnog truda u dizajniranje i konvertovanje.

Više informacija o mapiranju Accessa i tipovima SQL Server podataka potražite u članku Poređenje tipova podataka.

Napomena    Polja sa više vrednosti se ne konvertuju.

Više informacija potražite u članku Tipovi datuma i vremena, Niska i binarni tipovi i numerički tipovi.

Visual Basic

Iako funkcija VBA ne podržava SQL Server, obratite paћnju na sledeće moguće probleme:

VBA funkcije u upitima    Access upiti podržavaju VBA funkcije na podacima u koloni upita. Međutim, Access upite koji koriste VBA funkcije nije moguće pokrenuti na SQL Server, tako da se svi traženi podaci prosleđuju programu Microsoft Access radi obrade. U većini slučajeva ovi upiti bi trebalo da se konvertuju u prolazne upite.

Korisnički definisane funkcije u upitima    Microsoft Access upiti podržavaju upotrebu funkcija definisanih u VBA modulima za obradu podataka koji im se prosleđuju. Upiti mogu biti samostalni upiti, SQL izrazi u izvorima zapisa obrasca/izveštaja, izvori podataka kombinovanih okvira i okvira sa listom u obrascima, izveštajima i poljima tabele i podrazumevanim izrazima ili izrazima pravila za validaciju. SQL Server nije moguće pokrenuti ove korisnički definisane funkcije. Možda ćete morati ručno da redizajnirate ove funkcije i konvertujete ih u uskladištene procedure na SQL Server.

Optimizuj performanse

Do sada je najvažniji način da optimizujete performanse sa novim potpornim SQL Server odlučite kada da koristite lokalne ili udaljene upite. Kada migrirate podatke u SQL Server, premeštate se i sa servera datoteka na model računarskog modela baze podataka klijent-servera. Sledite ove opšte smernice:

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

  • Pokreni upite za čitanje/pisanje na serveru da biste iskoristili veću moć obrade.

  • Umanjite mrežni saobraćaj pomoću filtera i agregacije da biste preneli samo potrebne podatke.

Optimizovanje performansi u modelu baze podataka klijentskog servera

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

Slede dodatna, preporučena uputstva.

Stavi logiku na server     Aplikacija takođe može da koristi prikaze, korisnički definisane funkcije, uskladištene procedure, izračunata polja i okidače za centralizaciju i deljenje logike aplikacije, poslovnih pravila i smernica, složenih upita, validacije podataka i koda referencijalnog integriteta na serveru, a ne na klijentu. Zapitajte se da li ovaj upit ili zadatak mogu da se izvršavaju na serveru bolje i brže? Na kraju, testirajte svaki upit da biste obezbedili optimalne performanse.

Korišćenje prikaza u obrascima i izveštajima    U programu Access uradite sledeće:

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

  • Za izveštaje koristite SQL prikaz kao izvor zapisa. Međutim, kreirajte zaseban prikaz za svaki izveštaj, tako da možete lakše da ažurirate određeni izveštaj, bez uticaja na druge izveštaje.

Umanjivanje učitavanja podataka u obrascu ili izveštaju    Ne prikazuj podatke dok ih korisnik ne zatraži. Na primer, ostavite svojstvo izvora zapisa prazno, podesite korisnike da izaberu filter u obrascu, a zatim popune svojstvo izvora zapisa filterom. Možete i da koristite odredbu Where za DoCmd.OpenForm i DoCmd.OpenReport da biste prikazali tačne zapise potrebne korisniku. Razmotrite isključivanje navigacije zapisima.

Budite pažljivi sa heterogenim upitima   Izbegavajte pokretanje upita koji kombinuje lokalnu Access tabelu i SQL Server povezanu tabelu, koja se ponekad naziva hibridni upit. Ovaj tip upita i dalje zahteva da Access preuzme sve SQL Server podataka na lokalni računar, a zatim pokrene upit, on neće pokrenuti upit u programu SQL Server.

Kada se koriste lokalne tabele    Razmotrite korišćenje lokalnih tabela za podatke koji se retko promene, kao što je lista država ili pokrajina u zemlji ili regionu. Statične tabele se često koriste za filtriranje i mogu bolje da se izvršavaju na Access izloženom računaru.

Dodatne informacije potražite u Savetnik za podešavanje mašine baze podataka članku Korišćenje Analizator performansi za optimizaciju Access baze podataka i Optimizovanje Microsoft Office Access aplikacija povezanih sa SQL Server.

Takođe pogledajte

Vodič za migraciju azure baze podataka

Microsoft Data Migration Blog

Microsoft Access za SQL Server migraciju, konverziju i unapređivanje

Načini deljenja Access baze podataka

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom jezika?
Šta je uticalo na vaše iskustvo?
Kada kliknete na dugme Prosledi“, vaše povratne informacije će se koristiti za poboljšanje Microsoft proizvoda i usluga. Vaš IT administrator će moći da prikupi ove podatke. Izjava o privatnosti.

Hvala vam na povratnim informacijama!

×