Migriranje Access baze podataka na SQL Server

Migriranje Access baze podataka na SQL Server

Svi imamo ograničenja i 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 kontrenutnih korisnika. Kada vreme za Access bazu podataka ide na sledeći nivo, možete da migrirate na SQL Server. SQL Server (bilo u lokalnoj ili u Azure oblaku) podržava veće količine podataka, više uključenih korisnika i ima veći kapacitet od mašine JET/as baze podataka. Ovaj vodič vam omogućava da nesmetan počnete da pokrećete SQL Server, pomaže vam da očuvate Access prednja i glavna rešenja koja ste napravili i nadamo se da ćete koristiti za pristup budućim rešenjima za bazu podataka. Čarobnjak za podizanje veličine je uklonjen iz programa Access 2013, tako da sada možete da koristite Microsoft SQL Server pomoćnik za migraciju (SSMA). Da biste uspešno migrirali, uradite sledeće faze.

Faze migracije baze podataka na SQL Server

Pre nego što počnete

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

O podeljenim bazama podataka

Svi objekti Access baze podataka mogu da se nalaze u jednoj datoteci baze podataka ili mogu da se skladište u dve datoteke baze podataka: izloženi podaci i pozadinsku bazu podataka. To se zove podela baze podataka i dizajnirana je tako da olakša deljenje u mrežnom okruženju. Pozadinsku datoteku baze podataka mora da sadrži samo tabele i relacije. Izloženu datoteku mora da sadrži samo sve druge objekte, uključujući obrasce, izveštaje, upite, makroe, VBA module i povezane tabele u pozadinu baze podataka. Kada migrirate Access bazu podataka, slična je na razdelnu bazu podataka u tom sistemu SQL server radi kao nova zadnja funkcija za podatke koji se sada nalaze na serveru.

Kao ishod, i dalje možete da zadržite izloženi Access bazu podataka sa povezanim tabelama sa tabelama SQL Server tabelama. Efikasno možete da uradite pogodnosti brzog razvoja aplikacije koje pruža Access baza podataka, zajedno sa skalabilnošću sistema SQL Server.

Pogodnosti za SQL Server

I dalje vam je potrebno ubeđivanja da migrirate na SQL Server? Evo nekih dodatnih beneficija za razmišljanje:

  • Više usaglašeni korisnici    SQL server može da rukuje sa brojnim pristupačnijim korisnicima nego Access i umanjuje zahteve za memorijom kada se dodaju još korisnika.

  • Povećana dostupnost    Sa sistemom SQL Server možete dinamičko da izvršite pravljenje rezervne kopije, ili postepenim ili dovršeno, bazu podataka 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    SQL Server baza podataka najčešće radi bolje od Access baze podataka, naročito sa velikom bazom podataka terabajta. Takođe, SQL Server izvršavaju upite mnogo brže i efikasnije pomoću paralelnih obrada upiti, koristeći više izvornih niti u jednom procesu za rukovanje korisničkim zahtevima.

  • Poboljšana bezbednost    Pomoću pouzdane veze, SQL Server se integriše sa sistemom Windows System Security za obezbeđivanje jedinstvenog integrisanog pristupa mreži i bazi podataka, koji zapošljava najbolje od oba sigurnosna sistema. To olakšava upravljanje složenim bezbednosnim spletkama. SQL Server je idealno skladište za osetljive informacije kao što su brojevi socijalnog osiguranja, podaci kreditnih kartica i adrese koje su poverljive.

  • Trenutna zamena    Ako se operativni sistem sruљi ili se struja ugasi, SQL server može automatski da spase bazu podataka u konzistentan stanje u roku od minuta i bez intervencije administratora baze podataka.

  • Upotreba VPN-a    Access i virtuelne privatne mreže (VPN) se ne slaћu. Ali sa sistemom SQL Server, udaljeni korisnici mogu da koriste i dalje da koriste Access izloženi – end bazu podataka na radnoj površini i povratni sistem SQL Server lociran iza VPN zaštitnog zida.

  • Azure SQL Server    Pored beneficija sistema SQL Server, pruža se dinamičko skalabilnost bez smanjenja, inteligentne optimizacije, globalne promenljive i dostupnosti, ukidanje hardverskih troškova i smanjena administracija.

Izbor najbolje Azure SQL Server opcije

Ako Migrirajte na Azure SQL Server, postoje tri opcije koje treba odabrati, svaka sa različito beneficije:

  • Jednu bazu podataka/elastične bazene    Ova opcija ima sopstveni skupa resursa koje upravlja SQL serverom baze podataka. Jedna baza podataka je kao sadržana baza podataka u sistemu SQL Server. Možete da dodate i elastični bazen koji predstavlja kolekciju baza podataka sa deljenim skupom resursa koji se upravlja putem SQL servera baze podataka. Najčešće korišćene SQL Server funkcije su dostupne uz ugrađene rezervne kopije, Zakrpljenje i oporavak. Međutim, nije zagarantovano tačno vreme za održavanje i migracija na SQL serveru može biti teљka.

  • Kontrolisana instanca    Ova opcija je zbirka baza sistemskih i korisničkih podataka sa deljenim skupom resursa. Kontrolisana instanca je kao instanca SQL Server baze podataka koja je vrlo kompatibilna sa sistemom SQL Server. Kontrolisana instanca ima ugrađene rezervne kopije, spajanje, oporavak i lako je migrirati iz sistema SQL Server. Međutim, postoji mali broj SQL Server funkcija koje nisu dostupne i nije zagarantovano tačno vreme za održavanje.

  • Azure virtuelna mašina    Ova opcija vam omogućava da pokrećete SQL Server unutar virtuelne mašine u oblaku Azure. Imate potpunu kontrolu nad sistemom SQL Server mašine i lakom za migraciju. Ali morate da upravljate rezervnim kopijama, zakrpama i oporavku.

Više informacija potražite u članku Izbor putanje migracije baze podataka na Azure i Izbor ispravne SQL Server opcije u usluzi Azure.

Prvi koraci

Postoji nekoliko problema koje možete da rešite ispred koje može da vam pomogne da unapredate proces migracije pre nego što uradite SSMA:

  • Dodavanje indeksa tabele i primarnog ključa    Uverite se da svaka Access tabela ima indeks i primarni ključ. SQL server zahteva da sve tabele imaju najmanje jedan indeks i zahteva povezanu tabelu da bi imala primarni ključ ako se tabela može ažurirati.

  • Potvrdite relacije primarnog/sporednog ključa    Uverite se da su ove relacije zasnovane na poljima sa konzistentnim tipovima podataka i veličinama. SQL Server ne podržava spojene kolone sa raznim tipovima podataka i dimenzijama u ograničenjima sporednih ključeva.

  • Uklanjanje kolone "prilozi"    SSMA ne migrira tabele koje sadrže kolonu "prilog".

Pre nego što uradite SSMA, uradite sledeće:

  1. Zatvorite Access bazu podataka.

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

  3. Ako se baza podataka nalazi u . mdb formatu datoteke, zatim uklonite bezbednost na korisničkom nivou.

  4. Pravljenje rezervne kopije baze podataka. Više informacija potražite u članku Zaštita podataka pomoću procesa pravljenja rezervne kopije i vraćanja u prethodno stanje.

Savet    Razmislite o instalaciji Microsoft SQL Server Express izdanja na radnoj površini koja podržava najviše 10 GB i koji je besplatan i lakši način da se pokrene i proveri migraciju. Kada se povežete, koristite lokalno DB kao instancu baze podataka.

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

Pokreće SSMA

Microsoft SQL Server pomoćnik za migraciju (ssma) radi olakšavanje migracije. SSMA uglavnom migrira tabele i biraju upite bez parametara. Obrasci, izveštaji, makroi i VBA moduli se ne konvertuju. Explorer za SQL Server metapodaci prikazuje objekte Access baze podataka i SQL Server objekte koji vam omogućavaju da pregledate trenutni sadržaj obe baze podataka. Ove dve veze se čuvaju u datoteci za migraciju ako odlučite da prenesete dodatne objekte u budućnosti.

Napomena    Proces migracije može da potraje malo vremena u zavisnosti od veličine objekata baze podataka i količine podataka koji se moraju prenositi.

  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 sa računara Access datoteke baze podataka.

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

  3. Koristite početne instrukcije u SSMA da biste obezbedili osnovne informacije kao što je SQL Server lokacija, Access baza podataka i objekti za migraciju, informacije o povezivanju i da li želite da kreirate povezane tabele.

  4. Ako migriraš na SQL Server 2016 ili noviju verziju i želite da ažurirate povezanu tabelu, dodajte kolonu ROWVERSION tako što ćete izabrati stavke Pregledanje alatki > postavkama projekta > Opšte.

    Polje ROWVERSION pomaže da se izbegnu neusaglašenosti zapisa. Access koristi ovu oblast ROWVERSION u okviru SQL Server povezanu tabelu da bi utvrdio kada je zapis poslednji put ažuriran. Takođe, ako polju ROWVERSION dodate u upit, Access ga koristi za ponovni izbor posla posle operacije ažuriranja. Ovo poboljšava efikasnost tako što pomaže da se izbegnu greške pri pisanju neusaglašenosti i scenariji brisanja zapisa koji se mogu desiti kada Access otkrije razne rezultate od originalnog prosleđivanja, na primer može da se javlja sa tipovima podataka "pokretni bod" i okidačima koji se 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 zbunjujuće ROWVERSION sa vremenskim pečatima. Iako je vremenska oznaka ključne vrednosti sinonima za ROWVERSION u sistemu SQL Server, ne možete da koristite rauovu verziju kao način za vremensku oznaku unosa podataka.

  5. Da biste odredili tipove tačnih podataka, izaberite stavku Pregled alatki > Postavke projekta > mapiranje tipa tip. Na primer, ako skladištite samo tekst na engleskom jeziku, možete da koristite tip podataka umesto nvarchar .

Konvertovanje objekata

SSMA konvertuje Access objekte u SQL Server objekte, ali trenutno ne kopira objekte. 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 upit bez parametara.

  • Primarni i sporedni ključevi

  • Indeksi i podrazumevane vrednosti

  • Potvrdite izbor u polju za potvrdu (Omogući vrednost kolone nulte dužine, pravilo za validaciju kolone, validacija tabele)

Kao najbolju praksu, koristite izveštaj SSMA procene koji prikazuje rezultate konverzije, uključujući greške, upozorenja, informativne poruke, procene vremena za izvršavanje migracije, kao i pojedinačne korake korekcije koje treba da uradite pre nego što zaista premestite crteže.

Konvertovanje objekata baze podataka uzima definicije objekta iz Access metapodataka, konvertuje ih u ekvivalentnu 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 pomoću programa SQL Server ili SQL Azure Explorer za metapodatke.

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

Savet    Kada uspešno prenesete Access bazu podataka, sačuvajte datoteku projekta za kasniju upotrebu, tako da ponovo možete da migrirate podatke za testiranje ili konačnu migraciju.

Poveži tabele

Razmislite o instalaciji najnovije verzije SQL Server OLE DB i ODBC upravljačkih programa umesto da koristite izvorne SQL Server upravljačke programe koji otpremis sa operativnim sistemom Windows. Ne samo da su noviji upravljački programi brži, već podržavaju nove funkcije u Azure SQL koje ne koriste prethodni upravljački programi. 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 Server i Microsoft ODBC upravljački program 17 za SQL Server.

Kada migrirate Access tabele, možete da se povežete sa tabelama u sistemu SQL Server koja sada sadrži podatke. Povezivanje direktno iz programa Access vam pruža i jednostavniji način da prikažete podatke umesto da koristite složenije alatke za upravljanje SQL serverom.  Možete da izvršite upit i uredite povezane podatke u zavisnosti od dozvola koje je podesio ADMINISTRATOR SQL Server baze podataka.

Napomena    Ako kreirate ODBC DSN kada se povežete sa SQL Server bazom podataka tokom procesa povezivanja, kreirajte isti DSN na svim mašinama koje koriste novu aplikaciju ili programsko korišćenje niske za povezivanje uskladištenih u DSN datoteci.

Više informacija potražite u članku Povezivanje sa Azure SQL Server bazom podataka i Uvoz podataka ili povezivanje sa podacima u SQL Server bazi podataka.

Obaveљtenje   Ne zaboravite da koristite upravljač povezanim tabelom u programu Access da biste jednostavno osvežili i ponovo povezali tabele. Više informacija potražite u članku Upravljanje povezanim tabelama.

Testiranje i revizija

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

Upiti

Konvertuju se samo upiti za izdvajanje; drugi upiti nisu, uključujući upite za biranje koji izvršavaju parametre. Neki upiti ne mogu da se u potpunosti konvertuju i SSMA izveštava o greškama upita tokom procesa konverzije. Možete ručno da uredite objekte koji se ne konvertuju pomoću T-SQL sintakse. Sintaksne greške mogu da zahtevaju i ručno konvertovanje funkcija i tipova podataka specifične za pristup na SQL Server. Više informacija potražite u članku Poređenje programa Access SQL sa sistemom SQL Server TSQL.

Tipovi podataka

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

Veliki broj    Tip podataka "veliki broj" skladišti nemonetarnu, numeričku vrednost i kompatibilan je sa programom SQL bigint. Ovaj tip podataka možete da koristite da biste efikasno izračunali velike brojeve, ali on zahteva da koristite Access 16 (16.0.7812 ili noviji). accdb format datoteke i da bolje obavlja 64-bitnu verziju programa Access. Više informacija potražite u članku Korišćenje tipa podataka "veliki broj" i izbor između 64-bitne ili 32-bitne verzije sistema Office.

Da/ne    Podrazumevano, Access da/ne se konvertuje u SQL Server bita. Da biste izbegli zaključavanje zapisa, Uverite se da je polje bita podešeno na vrednost NULL. U SSMA možete da izaberete stubičasti okvir da biste odredili polje Omogući Nulls . U programu TSQL koristite izjave tabele ili alter tabele .

Datum i vreme    Postoji nekoliko razmatranja datuma i vremena:

  • Ako je nivo kompatibilnosti baze podataka 130 (SQL Server 2016) ili noviji, a povezana tabela sadrži jednu ili više podataka podataka ili datetime2, tabela može da vrati poruku #deleted u rezultatima. Više informacija potražite u članku pristup povezanu tabelu u bazi podataka za SQL Server #deleted.

  • Koristite Tip podataka datetime2 koji ima veći opseg datuma od datuma e-vremena.

  • Kada se upitate za datume u sistemu SQL Server, uzmite u obzir i vreme i datum. Na primer:

    • Datum naloga između 1/1/19 i 1/31/19 možda neće sadržati sve porudžbine.

    • Datum porudžbine između 1/1/19 00:00:00 pm i 1/31/19 11:59:59 PM obuhvata sve porudžbine.

Prilog   Tip podataka "prilog" skladišti datoteku u Access bazi podataka. U sistemu SQL Server imate nekoliko opcija koje treba da razmotrite. Možete da izdvojite datoteke iz Access baze podataka, a zatim razmotrite da uskladištite veze ka datotekama u SQL Server bazi podataka. Pored toga, možete da koristite karticu FILESTRIS, Filetabelama ili skladište udaljenog BLOB (RBS) da biste zadržali priloge uskladištene u SQL Server bazi podataka.

Hiperveza    Access tabele imaju kolone hiperveze koje SQL Server ne podržava. Ove kolone se podrazumevano konvertuju u kolone nvarchar (Max) u sistemu SQL Server, ali možete da prilagodite mapiranje da biste odabrali manji tip podataka. U Access rešenju možete i dalje da koristite ponašanje hiperveze u obrascima i izveštajima ako podešavate polje hiperveze za kontrolu ka TRUE.

Polje sa više vrednosti    Polje Access vrednosti se konvertuje u SQL Server kao ntext polje koje sadrži Razgraničeni skupa 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 pristupu mape i SQL Server tipovima podataka potražite u članku Poređenje tipova podataka.

Napomena    Polja sa više vrednosti se ne konvertuju i obustavljene u programu Access 2010.

Više informacija potražite u članku tip datuma i vremena, tipovi niski i binarnihbrojeva i numerički tipovi.

Visual Basic

Iako SQL Server ne podržava VBA, imajte u vidu sledeće moguće probleme:

VBA funkcije u upitima    Access upiti podržavaju VBA funkcije u koloni upita. Ali Access upiti koji koriste VBA funkcije ne mogu da se pokrenu na SQL serveru, tako da se svi zahtevani podaci prosleđuju u Microsoft Access radi obrade. U većini slučajeva ovi upiti treba da se konvertuju u prolaze kroz upite.

Korisnički definisane funkcije u upitima    Microsoft Access upiti podržavaju korišćenje funkcija definisanih u VBA modulima za obradu podataka koje su im prosleđene. Upiti mogu da budu samostalni upiti, SQL izveštaji u izvorima zapisa/izvori zapisa, izvore podataka kombinovanih polja i okviri sa listom u obrascima, izveštajima i poljima tabela i podrazumevanim izrazima ili izrazima pravila za validaciju. SQL Server ne može da pokrene ove korisnički definisane funkcije. Možda ćete morati da ručno ponovo dizajnirate te funkcije i da ih konvertujete u uskladištene procedure na sistemu SQL Server.

Optimizacija performansi

Do sada, najvažniji način da optimizujete performanse sa novim, pozadinskim sistemom SQL Server jeste da odlučite kada treba koristiti lokalne ili udaljene upite. Kada migrirate podatke na SQL Server, možete i da se premestite sa servera datoteke na model računarske baze podataka klijenta. Izvršite ova Opšta uputstva:

  • Vodite male upite samo za čitanje na klijentu za najbrћi pristup.

  • Uradite duge, upite za čitanje/pisanje na serveru da biste iskoristili veću obradu energije.

  • Smanjite mrežni saobraćaj sa filterima i agregacijom da biste preneli samo potrebne podatke.

Optimizujte performanse u modelu baze podataka klijenta servera

Više informacija potražite u članku Kreiranje upita koji se prolaze kroz prolaz.

Slede dodatne, preporučene smernice.

Postavite logiku na serveru    Aplikacija takođe može da koristi prikaze, korisnički definisane funkcije, uskladištene procedure, izračunata polja i okidača za centralizovanje i deljenje logike aplikacije, pravila poslovanja i smernica, složenih upita, validacije podataka i referencijalni kôd integriteta na Server, a ne na klijenta. Zapitajte se, da li ovaj upit ili zadatak treba da se izvršava na serveru bolje i brže? Konačno, testirate 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 indeksirani prikaz za obrazac čitanja/pisanja kao izvor zapisa.

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

Umanjite podatke učitavanja u obrascu ili izveštaju    Ne prikazuj podatke dok korisnik to ne zatraži. Na primer, ostavite prazno polje izvora zapisa, učinite da korisnici izaberu filter u obrascu, a zatim da popunite polje "izvor zapisa" pomoću filtera. Možete i da koristite odredbu WHERE DoCmd. OpenForm i DoCmd. OpenReport da biste prikazani tačne podatke koje korisnik koristi. Razmotrite isključivanje navigacije zapisima.

Pažljivo sa heterogenim upitima   Izbegavajte pokretanje upita koji kombinuje lokalnu Access tabelu i tabelu povezanu sa sistemom SQL Server, koji se ponekad nazivaju hibridni upit. Ovaj tip upita i dalje zahteva pristup za preuzimanje svih SQL Server podataka na lokalnu mašinu, a zatim pokreće upit u sistemu SQL Server.

Kada se koriste lokalne tabele    Razmotrite korišćenje lokalnih tabela za podatke koji se retko menjaju, na primer, listu država ili provincija u zemlji ili regionu. Statične tabele se često koriste za filtriranje i mogu da budu bolje na izloženom pristupu.

Više informacija potražite u članku savetnik za podešavanje mašine za bazu podataka, koristite analizator performansi da biste optimizovali Access bazu podatakai optimizovali Microsoft Office Access aplikacije koje su povezane sa sistemom SQL Server.

Takođe pogledajte

Azure Vodič za migraciju baze podataka

Microsoft blog za migraciju podataka

Microsoft Access migracija SQL servera, konverzija i podešavanje

Načini deljenja Access baze podataka

Napomena:  Ova stranica je prevedena automatski i može da sadrži gramatičke greške ili netačnosti. Naš cilj je da ovaj sadržaj bude koristan. Možete li da nam javite da li su informacije bile korisne? Ovo je članak na engleskom jeziku za referencu.​

Razvijte Office veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×