sql >> Databáze >  >> RDS >> Sqlserver

Migrace databáze Microsoft Access na SQL Server

Úvod

Microsoft Access je populární systém pro správu databází pro stolní počítače, který zahrnuje nástroje pro vývoj aplikací (formuláře, sestavy, dotazy, makra VBA) s relačním DBMS. MS Access je ideální pro jednotlivé uživatele nebo pro malé pracovní skupiny, kde na datech pracuje několik uživatelů současně sdílením databázového souboru MS Access přes místní síť.

Jakmile však počet současně pracujících uživatelů přesáhne hrstku, MS Access začne narážet na problémy se sdílením dat. Jedním z řešení tohoto problému „škálování“ je rozdělit databázi MS Access a hostit data na serverovém DBMS, jako je Microsoft SQL Server.

Společnost Microsoft poskytuje praktický nástroj nazvaný „Microsoft SQL Server Migration Assistant for MS Access“ (SSMA), který pomáhá při přesunu databázových tabulek z databáze MS Access na SQL Server. Než se pustíme do samotných kroků tohoto procesu, je užitečné porozumět architektuře databázového systému MS Access. Tato architektura je popsána počínaje následující stránkou.

Předběžné požadavky

Než budete pokračovat v tomto návodu, ujistěte se, že je nainstalován následující software.

Tento tutoriál byl napsán pomocí Microsoft Access 2013 (z 64bitového MS Office) běžícího na 64bitovém operačním systému Windows 7. MS Access 2010 a 2016 mohou také fungovat, ale nebyly testovány. Nezapomeňte zkontrolovat MS Office, protože 32bitový MS Access nebude mít správnou podporu pro fungování SSMA.

Možná budete muset nainstalovat také software MS Access 2010 Runtime. Tento software byl původně navržen pro čtení databázových souborů MS Access bez nutnosti instalace kompletní verze MS Access. QL Server Migration Assistant používá části Data Access Objects (DAO) v modulu MS Access 2010 Runtime k otevírání souborů MS Access.

K dispozici je vzorový soubor databáze MS Access (odkazy na tento soubor viz další stránky).

Cílovým systémem správy databází bude Microsoft SQL Server. Tento kurz vyžaduje pověření (uživatelské jméno, heslo atd.) k instanci SQL Serveru. Můžete si nainstalovat MS SQL Server na svůj vlastní počítač nebo server, použít stávající server ve vaší domácnosti nebo na pracovišti nebo použít cloudovou službu k hostování SQL Serveru za vás. Návod na nastavení instance SQL Server na GearHost je uveden zde:/getting-started-with-gearhost-for-sql-server-database-development/

Všimněte si, že od roku 2021 již GearHost nemá instanci serveru SQL Server Free-Tier. Můžete zkusit získat studentský účet v Microsoft Azure a používat Azure SQL Database.

Měli byste mít také k dispozici Microsoft SQL Server Management Studio, abyste mohli přímo zkoumat a pracovat s SQL Serverem. Pomocí SQL Server Management Studio se připojte k instanci SQL Server a vytvořte prázdnou databázi.

V tomto kurzu se používá instance SQL Server hostovaná GearHost. Ukázková databáze s názvem testmssqldb1 byla vytvořena, jak je znázorněno v Průzkumníku objektů SQL Server Management Studio níže.

Nakonec se ujistěte, že jste si před migrací všech souborů databáze MS Access vytvořili zálohu na SQL Server.

Další část představuje architekturu databáze Microsoft Access.

Architektura databáze Microsoft Access

Většinu informačních systémů, které využívají k ukládání dat databázi, lze popsat čtyřmi hlavními komponentami:

  1. Uživatelské rozhraní – Toto jsou formuláře, sestavy a dotazy, se kterými komunikují koncoví uživatelé systému.
  2. Obchodní logika – Toto je programovací kód, který implementuje různá obchodní pravidla, podle kterých se organizace řídí. Například může existovat obchodní pravidlo, že žádnému zaměstnanci nemůže být přiděleno více než 30 hodin týdně na jednom projektu. Toto pravidlo by bylo implementováno v programovacím kódu.
  3. Systém správy databáze – Jedná se o software používaný ke správě dat v databázi. Může mít také funkce, jako je řízení souběžnosti, které umožňuje více uživatelům bezpečně pracovat s daty. Některé příklady DBMS zahrnují MS Access, MS SQL Server, Oracle, MySQL a Postgres.
  4. Databáze – Zde jsou uložena skutečná data. Data jsou obvykle organizována v sadě databázových tabulek. Každá tabulka má sloupce a datové záznamy.

Systémová architektura databáze popisuje, jak je každá z těchto čtyř složek uspořádána. Termín „Front End“ se často používá k popisu komponent uživatelského rozhraní a obchodní logiky. „Back End“ se skládá z DBMS a databáze.

Jako desktopový DBMS ukládá MS Access všechny součásti databázové systémové aplikace do jednoho souboru. Software DBMS běží na stolním počítači. Formuláře pro zadávání dat, sestavy a dotazy spolupracují s databázovými tabulkami uloženými ve stejném souboru databáze MS Access (soubor .accdb), jak je znázorněno na obrázku níže.

Pro sdílení dat MS Access přes lokální síť můžeme databázový soubor „rozdělit“ na dva. Jeden soubor bude obsahovat formuláře, sestavy, dotazy a další části databázové aplikace, druhý databázový soubor bude obsahovat pouze databázové tabulky a jejich data. Komponenty aplikace (formuláře, sestavy atd.) budou používat externí odkazy na druhý databázový soubor k načtení a aktualizaci dat. To je znázorněno na obrázku níže.

S rostoucím počtem uživatelů bude tento způsob sdílení dat omezující. V tomto případě můžeme migrovat databázové tabulky na Microsoft SQL Server. Pro připojení komponent aplikace (formuláře, sestavy atd.) k databázovým tabulkám budou opět použity externí odkazy, jak je znázorněno na obrázku níže.

Tento přístup „rozdělení“ nebo „zvětšení velikosti“ na SQL Server je předmětem tohoto kurzu.

Další část představuje vzorovou databázi MS Access, která bude použita k ukázce migrace databáze.

Ukázková databáze zaměstnanců

Tento tutoriál využívá jednoduchou databázi zaměstnanců, kterou lze stáhnout z tohoto odkazu. V této databázi jsou 4 hlavní tabulky:Oddělení, Zaměstnanec, Projekt a Zadání projektu.

Níže jsou uvedeny vztahy mezi tabulkami:

Existuje 5 formulářů pro zadávání dat, jeden dotaz a jedna sestava.

Věnujte několik minut prozkoumání této databáze, než přejdete k výukovému programu. Po dokončení průzkumu nezapomeňte soubor databáze zavřít. Udělejte si také zálohu souboru pro případ, že byste si v budoucnu přáli opakovat tento tutoriál.

V další části tohoto kurzu bude stažen a nainstalován Microsoft SQL Server Migration Assistant pro nástroje MS Access.

Stažení a instalace nástroje Microsoft SQL Server Migration Assistant pro MS Access

Microsoft SQL Server Migration Assistant pro MS Access lze stáhnout z následující webové stránky společnosti Microsoft:https://www.microsoft.com/en-us/download/details.aspx?id=54255

Klikněte na tlačítko Stáhnout a poté uložte nový soubor. Název souboru by měl být něco jako SSMA pro Access.7.3.0.msi, i když v budoucnu může být k dispozici novější verze. Dvojitým kliknutím na soubor SSMA for Access.7.3.0.msi spusťte instalační program.

Když se zobrazí uvítací obrazovka, klikněte na Další přejděte na další krok.

Přečtěte si Licenční smlouvu s koncovým uživatelem a klikněte na Souhlasím s ujednáním přepínač a poté klikněte na Další pokračujte.

Klikněte na Vlastní instalaci a poté vyberte funkce, které chcete nainstalovat, a také umístění instalace. Vyberte všechny funkce k instalaci a vyberte umístění (obvykle disk C:). Klikněte na tlačítko Další pokračujte.

V tomto okamžiku je produkt připraven k instalaci. Klikněte na tlačítko Instalovat pokračujte.

Instalačnímu programu bude dokončení instalace trvat několik minut. Během této doby se objeví stavová obrazovka, jak je uvedeno níže.

Po dokončení instalace SSMA klikněte na Dokončit tlačítko.

SQL Server Migration Assistant for Access se zobrazí v nabídce Start systému Windows. K dispozici bude také skupina SQL Server Migration Assistant for Access.

Nyní, když je nainstalován SSMA, lze migrovat databázi MS Access. Tyto kroky jsou popsány na další stránce.

Migrace databáze MS Access

Ujistěte se, že máte záložní kopii databáze MS Access.

Vyhledejte položku nabídky Microsoft SQL Server Migration Assistant for Access v nabídce Start systému Windows a kliknutím na ni spusťte SSMA.

Zobrazí se průvodce SSMA s uvítací obrazovkou. Poznamenejte si obrys 6 kroků, které budou dokončeny. V tomto okamžiku budete muset mít k dispozici databázový soubor MS Access Employee a také přihlašovací údaje pro databázi MS SQL Server. Klikněte na tlačítko Další přejděte k prvnímu kroku průvodce.

Prvním krokem je vytvoření nového projektu migrace. Zadejte název projektu (pro tento příklad se používá projekt Employee_Database_Migration_Project). Vyberte složku pro uložení projektu. Nakonec vyberte verzi serveru SQL pro cílovou databázi SQL Server. V tomto příkladu bude použit SQL Server 2016. Po dokončení klikněte na Další tlačítko.

Dalším krokem je přidání databází MS Access, které mají být migrovány. V tomto okamžiku by měl formulář vypadat prázdný. Klikněte na Přidat databáze tlačítko.

Přejděte do složky obsahující soubor zaměstnanec.accdb a vyberte tento soubor. Klikněte na tlačítko Otevřít tlačítko.

Nyní by měl být uveden soubor zaměstnanec.accdb. Klikněte na tlačítko Další pokračujte.

Nyní, když je databáze MS Access otevřena, je dalším krokem výběr obsahu databáze, který má být migrován na SQL Server. Obecně budou migrovány pouze tabulky a ty by měly být vybrány jako výchozí. Všimněte si také, že budou migrovány také všechny indexy a primární klíče, které jsou součástí každé tabulky. (Pokud nejsou uvedeny žádné tabulky, nainstalujte software MS Access 2010 Runtime a zkuste to znovu).

V tomto příkladu se ujistěte, že jsou všechny databázové tabulky vybrány, jak je uvedeno níže. Klikněte na Další pokračujte.

Dalším krokem v průvodci je zadání pověření pro cílovou instanci serveru SQL. Vyplňte pole podle konfigurace serveru SQL. V tomto příkladu je použita instance SQL Server na Gearhost.

Název hostitele bude název internetového hostitele nebo IP adresa serveru. Pokud je na vašem místním počítači nebo serveru nainstalován SQL Server, použijte jako název serveru localhost.

Port serveru je číslo portu pro SQL Server listener. Ponechte toto výchozí (pokud jste nezměnili tuto konfiguraci na vašem SQL Serveru).

Databáze bude název databáze rezidentní na instanci SQL Server. V tomto příkladu již byla na serveru vytvořena ukázková databáze s názvem testmssqldb1.

Vyberte metodu ověření pro vaši instanci SQL Server. V tomto příkladu bude použito ověřování serveru SQL. Musí být poskytnuto uživatelské jméno a heslo spojené s instancí SQL Server.

Vyplňte zbývající přihlašovací údaje včetně uživatelského jména a hesla a vyberte příslušné možnosti, zda má být připojení šifrováno či nikoli.

Po zadání všech přihlašovacích údajů klikněte na Další tlačítko.

V tomto okamžiku Průvodce migrací vyzve k propojení databázové aplikace (formuláře, sestavy atd.) s výslednými tabulkami databáze SQL Server. To je přesně to, co je v tomto případě vyžadováno. Ujistěte se, že Propojit tabulky je zaškrtnuto políčko a klikněte na Další tlačítko.

Obrazovka Stav migrace se objeví, když jsou zdrojová data analyzována a připravena k načtení na SQL Server.

Po převodu se objeví dialogové okno se seznamem všech tabulek a jejich přidružených indexů a spouštěčů (pokud jsou k dispozici). V tomto příkladu budou všechny tabulky a jejich přidružené objekty migrovány na SQL Server. Klikněte na tlačítko OK toto dialogové okno zavřete.

Průvodce bude pokračovat ve zpracování dat tabulky a načte převedené objekty do databáze.

Během Propojení konvertovaných tabulek krok, může průvodce vyzvat k opětovnému zadání pověření SQL Server. Zadejte znovu tyto přihlašovací údaje a klikněte na Připojit tlačítko.

Průvodce migrací bude pokračovat. Po dokončení migrace se zobrazí souhrnná obrazovka. Pokud se vyskytly nějaké chyby, klikněte na související Nahlásit tlačítko pro jejich kontrolu. Po dokončení klikněte na tlačítko Zavřít tlačítko.

Zobrazí se hlavní obrazovka SSMA. Stáhněte Soubor a vyberte Uložit projekt pro uložení aktuálního projektu. Vyberte Zaměstnanec databáze pro extrahování a uložení metadat.

V tomto okamžiku je úloha migrace dokončena a můžeme ukončit program SSMA.

Poslední část tutoriálu ukazuje, jak spustit nově migrovanou databázovou aplikaci MS Access.

Spuštění databázové aplikace MS Access

Otevřete soubor databáze zaměstnanecdb.accdb v MS Access. Všimněte si, že původní tabulky byly nyní přejmenovány. Například původní tabulka zaměstnanců se nyní jmenuje SSMA$employee$local. Tato tabulka je stále uložena v databázovém souboru zaměstnanecdb.accdb.

Čtyři nové odkazy na databázové tabulky byly vytvořeny. Všechny existující formuláře, dotazy a sestavy, které odkazovaly na tyto názvy, budou nyní místo toho odkazovat na odkazy na každou tabulku v databázi SQL Server. Chcete-li to vyzkoušet, otevřete formulář pro zadání dat oddělení.

Můžete obdržet chybovou zprávu „Přihlášení“ nebo „Připojení se nezdařilo“, jak je uvedeno níže:

Klepněte na tlačítko OK a zadejte příslušná pověření pro instanci SQL Server. Poté klikněte na tlačítko OK tlačítko.

Z pohledu koncového uživatele nedochází k žádné změně ve způsobu, jakým formulář vypadá nebo funguje. Jediným menším problémem, se kterým se uživatelé mohou setkat, je mírné zpoždění při otevírání velké kolekce dat, protože požadavek musí být odeslán vzdálené instanci SQL Serveru, která pak potřebuje zabalit výsledky a vrátit je do databázové aplikace MS Access.

Otevřete některé z dalších formulářů pro zadávání dat a ujistěte se, že všechny fungují správně.

Po potvrzení funkčnosti migrované databáze lze původní (nyní přejmenované) tabulky odstranit z databázového souboru zaměstnanecdb.accdb. Po tomto kroku může být databázový soubor zamestnanecdb.accdb distribuován uživatelům, aby mohli začít pracovat s daty, která jsou nyní uložena v centrálním umístění v instanci SQL Serveru.


  1. Rozdíl mezi SELECT INTO a INSERT INTO v MySQL

  2. Import export mysql databáze příkazový řádek superrychlý

  3. Jak změnit uživatelské heslo v PostgreSQL

  4. Nelze se připojit k postgres pomocí jdbc v prostředí pyspark