Een Access-database migreren naar SQL Server

Opmerking: We willen u graag zo snel mogelijk de meest recente Help-inhoud in uw eigen taal bieden. Deze pagina is automatisch vertaald en kan grammaticale fouten of onnauwkeurigheden bevatten. Wij hopen dat deze inhoud nuttig voor u is. Kunt u ons onder aan deze pagina laten weten of de informatie nuttig voor u was? Hier is het Engelstalige artikel ter referentie.

We alle limieten hebt en een Access-database is geen uitzondering. Een Access-database wordt bijvoorbeeld geldt een groottelimiet van 2 GB en meer dan 255 gelijktijdige gebruikers kunt ondersteunen. Wanneer het tijd voor uw Access-database om te gaan naar een hoger niveau is, kunt u kunt dus voor migreren naar SQL Server. SQL Server (of on-premises implementatie-mailsysteem of cloud in de Azure) ondersteuning voor grotere hoeveelheden gegevens, meer gelijktijdige gebruikers, en een grotere capaciteit dan de JET/ACE database-engine heeft. Deze handleiding biedt u een vloeiend begin tot de SQL Server-reis, helpt Access front oplossingen u hebt gemaakt en u kunt Access gebruiken voor toekomstige databaseoplossingen Hopelijk motiveert behouden. De Wizard Upsize is verwijderd uit Access in Access 2013, zodat u kunt de Microsoft SQL Server migratie-assistent (SSMA). Als u wilt migreren, volgt u deze fasen weergegeven.

De fasen van de databasemigratie voor SQL Server

Voordat u begint

De volgende secties bevatten achtergrond en andere gegevens om u aan de slag te helpen.

Over gesplitste databases

Alle Access-database-objecten in één databasebestand zijn of ze kunnen worden opgeslagen in twee databasebestanden: een front-enddatabase en een back-enddatabase. Hiermee wordt genoemd in de database splitsen en is ontworpen om u te helpen gemakkelijker delen in een netwerk. De back-enddatabasebestand mag alleen bevatten tabellen en relaties. De front-bestand mag alleen bevatten voor alle andere objecten, waaronder formulieren, rapporten, query's, macro's, VBA-modules en gekoppelde tabellen die u wilt de back-enddatabase. Wanneer u een Access-database migreren, is deze vergelijkbaar met een gesplitste database in dat SQL Server fungeert als een nieuwe back-end voor de gegevens die nu bevindt zich op een server.

Hierdoor kunt u nog steeds de front Access-database met gekoppelde tabellen met de SQL Server-tabellen bijhouden. Effectief, kunt u de voordelen van de ontwikkeling van de snelle toepassingen vindt u een Access-database, samen met de schaalbaarheid van SQL Server afleiden.

Voordelen van een SQL Server

Nog steeds nodig sommige bewegen om te migreren naar SQL Server? Hier volgen enkele bijkomende voordelen om na te denken over:

  • Meer gelijktijdige gebruikers    SQL Server veel meer gelijktijdige gebruikers dan toegang kan worden verwerkt en wordt geminimaliseerd geheugenvereisten wanneer meer gebruikers worden toegevoegd.

  • Betere beschikbaarheid    Met SQL Server, u kunt dynamisch back-up maken, wijze incrementele of voltooid, de database terwijl deze bevindt zich in gebruik. U hoeft gebruikers dus niet te dwingen de database te verlaten om een back-up te maken van uw gegevens.

  • Goede prestaties en schaalbaarheid    De SQL Server-database is meestal beter dan een Access-database, met name met een grote, terabyte grootte database uitvoert. Ook verwerkt SQL Server query's veel sneller en efficiënter door het verwerken van query's parallel, gebruik van meerdere eigen threads in één proces voor het afhandelen van aanvragen van gebruikers.

  • Verbeterde beveiliging    Via een beveiligde verbinding kan SQL Server wordt geïntegreerd met het Windows-systeembeveiliging op te geven van een geïntegreerde toegang tot het netwerk en de database met de beste van beide beveiligingssystemen. Hierdoor veel eenvoudiger kunt u complexe beveiliging schema te beheren. SQL Server is de ideale opslaglocatie voor gevoelige informatie zoals BSN-nummers, gegevens van de creditcard, en adressen die vertrouwelijke zijn.

  • Onmiddellijk herstel    Als het besturingssysteem loopt vast of de stroom uitvalt, kan SQL Server automatisch de database op een consistente status in een kwestie van minuten en zonder tussenkomst van de beheerder van database herstellen.

  • Gebruik van VPN    Toegang en virtuele particuliere netwerken (VPN) ontvangt niet langs. Maar met SQL Server, externe gebruikers kunnen nog steeds gebruiken de Access front-enddatabase gebruiken op een pc en het SQL Server back-enddatabasebestand zich achter de firewall VPN.

Eerste stappen

Er zijn enkele problemen die u kunt vooraf kan beantwoorden, waarmee u het migratieproces stroomlijnen kunnen voordat u SSMA uitvoert:

  • Tabelindexen en primaire sleutels toevoegen    Zorg ervoor dat elke tabel een index en een primaire sleutel. SQL Server vereist alle tabellen moet ten minste één index en vereist een gekoppelde tabel naar een primaire sleutel hebben als de tabel kan worden bijgewerkt.

  • Primaire/externe-sleutelrelaties controleren    Zorg ervoor dat deze relaties zijn gebaseerd op velden met consistente gegevenstypen en grootte. SQL Server biedt geen ondersteuning voor gekoppelde kolommen met verschillende gegevenstypen en tekengrootten in beperkingen voor refererende sleutels.

  • De bijlagekolom verwijderen    SSMA migreren niet tabellen met de bijlagekolom.

Voordat u SSMA uitvoert, moet u de volgende eerste stappen uitvoeren.

  1. Sluit de Access-database.

  2. Zorg ervoor dat huidige gebruikers die zijn verbonden met de database ook de database te sluiten.

  3. Als de database zich in de MDB-bestandsindeling, klikt u vervolgens op verwijderen van beveiliging op gebruikersniveau.

  4. Back-up van uw database. Zie uw gegevens beschermen via back-up- en herstelprocessenvoor meer informatie.

Tip    Kunt u Microsoft SQL Server Express edition installeren op uw bureaublad dat ondersteuning biedt voor maximaal 10 GB en is een gratis en gemakkelijker manier te voeren via en controleer de migratie.

Tip    Gebruik indien mogelijk een zelfstandige versie van Access. Als u alleen Office 365 gebruiken kunt, gebruikt u de Access 2010-database-engine om te migreren van uw Access-database wanneer u een SSMA gebruikt. Zie Microsoft Access Database Engine 2010 distribueren pakketvoor meer informatie.

SSMA uitvoeren

Microsoft biedt Assistent Microsoft SQL Server-migratie (SSMA) om de migratie te vereenvoudigen. SSMA migreert voornamelijk tabellen en selecteer query's zonder parameters. Formulieren, rapporten, macro's en VBA-modules worden niet geconverteerd.

  1. Voor het migreren van een database met behulp van SSMA, eerste downloaden en de software te installeren door te dubbelklikken op het gedownloade MSI-bestand. Zorg ervoor dat u de juiste 32 of 64-bitsversie voor uw computer installeren.

  2. Na de installatie van SSMA, opent u deze op uw bureaublad, bij voorkeur vanaf de computer met de Access-databasebestand.

    U kunt dit ook openen op een computer die toegang tot de Access-database van het netwerk in een gedeelde map heeft.

  3. Volg de instructies begin in SSMA te leveren basisgegevens zoals de locatie van de SQL Server, de Access-database en de objecten die u wilt migreren, verbindingsgegevens, en of u wilt maken van gekoppelde tabellen.

  4. Als u naar SQL Server-2016 of hoger migreert en u wilt bijwerken van een gekoppelde tabel, kunt u een tijdstempelkolom toevoegen door te Controleren extra > Projectinstellingen > algemeneselecteren. Zie voor meer informatie gekoppelde Access-tabel met SQL Server-database retourneert #deleted.

  5. Wilt nauwkeurig gegevenstypen instellen, schakelt u Hulpmiddelen voor revisie > Projectinstellingen > Type toewijzen. Als u alleen Engelse tekst opslaat, kunt u bijvoorbeeld het gegevenstype varchar in plaats van nvarchar gebruiken.

De SQL Server metagegevens Explorer wordt weergegeven voor uw Access-database-objecten en SQL Server-objecten waarmee u kunt de huidige inhoud van beide databases controleren. Deze twee verbindingen worden opgeslagen in uw migratiebestand moet u besluit om over te brengen extra objecten in de toekomst.

Opmerking    Het migratieproces kan enige tijd afhankelijk van de grootte van objecten in een database en de hoeveelheid gegevens die moeten worden overgebracht duren.

Objecten converteren

SSMA Access-objecten converteert naar een SQL Server-objecten, maar deze niet direct de objecten kopiëren. SSMA vindt u een lijst van de volgende objecten te migreren, zodat u beslissen kunt of u wilt verplaatsen naar SQL Server-database:

  • Tabellen en kolommen

  • Selecteer query's zonder parameters.

  • Primaire en refererende sleutels

  • Indexen en standaardwaarden

  • CHECK-beperkingen (toestaan nul lengte kolomeigenschap, validatieregel kolom, tabel validatie)

Een aanbevolen SSMA assessment het rapport gebruiken, waarin de conversie resultaten, met inbegrip van fouten, waarschuwingen, informatieve berichten, maakt een schatting tijd voor de uitvoering van de migratie en afzonderlijke fout correctie stappen uitvoeren voordat u daadwerkelijk verplaatsen de objecten.

Databaseobjecten worden geconverteerd duurt de objectdefinities uit de Access-metagegevens, zet ze in equivalente (T-SQL) Transact-SQL-syntaxisen laadt deze informatie in het project. U kunt vervolgens de SQL Server- of SQL Azure-objecten en hun eigenschappen weergeven met behulp van SQL Server- of SQL Azure metagegevens Explorer.

Als u wilt converteren, laden en objecten migreren naar SQL Server, volgt u deze handleiding.

Tip    Eenmaal is gemigreerd uw Access-database, sla het projectbestand voor later gebruik, zodat u kunt uw gegevens voor het testen van migreren of definitief migratie.

Koppelingstabellen

Houd rekening met de nieuwste versie van de SQL Server OLE DB en ODBC-stuurprogramma's in plaats van het gebruik van de systeemeigen SQL Server-stuurprogramma's die worden geleverd met Windows installeert. Niet alleen de nieuwere stuurprogramma's sneller zijn, maar ze nieuwe functies in Azure SQL-code die de vorige stuurprogramma's niet ondersteund. U kunt de stuurprogramma's installeren op elke computer waarop de geconverteerde database wordt gebruikt. Zie Microsoft OLE DB stuurprogramma 18 voor SQL Server en Microsoft ODBC-stuurprogramma 17 voor SQL Servervoor meer informatie.

Na het migreren van de Access-tabellen, kunt u koppelen aan de tabellen in SQL Server waarop uw gegevens nu de host. Koppelen rechtstreeks vanuit Access biedt u ook een eenvoudiger manier om weer te geven van uw gegevens in plaats van met de complexere hulpmiddelen van SQL Server management.  U kunt de query en gekoppelde gegevens afhankelijk van de machtigingen instellen door de beheerder van de SQL Server-databasebewerken.

Opmerking    Als u een ODBC-DSN maken wanneer u een koppeling naar uw SQL Server-database tijdens het koppelingsproces, maakt u dezelfde DSN op alle computers die de nieuwe toepassing te gebruiken.

Zie voor meer informatie koppeling naar of gegevens importeren uit een Azure SQL Server-Database en importeren of koppelen aan gegevens in een SQL Server-database.

Tip Vergeet niet via Koppelingsbeheer in Access gemakkelijk vernieuwen en tabellen opnieuw hebt gekoppeld. Zie de gekoppelde tabellen beherenvoor meer informatie.

Test en herzien

De volgende secties worden veelvoorkomende problemen die tijdens de migratie en hoe optreden kunnen u ze kunt afhandelen.

Dialoogvenster Nieuwe zoekmap

Alleen selectiequery worden geconverteerd. andere query's zijn niet, met inbegrip van selectiequery die parameters. Sommige query's mogelijk niet volledig geconverteerd en SSMA rapporten query fouten tijdens de conversie. U kunt handmatig de objecten die niet converteren met behulp van de T-SQL-syntaxis bewerken. Syntaxisfouten wellicht ook handmatig specifieke Access-functies en gegevenstypen te converteren naar SQL Server-bestanden. Algemene SQL-syntaxis van de verschillen zijn:

  • Het sterretje (*) worden gebruikt als een jokerteken terwijl de T-SQL met het percentage (%).

  • Aanhalingstekens om namen van tabellen en objecten worden gebruikt. T-SQL kunt gebruiken voor de tabelnamen met spaties, maar dit is niet standaard naming oefening. In de meeste gevallen objectnamen zonder spaties moeten worden gewijzigd, maar query's ook moeten worden herschreven zodat nieuwe tabelnamen. Gebruik vierkante haken [] voor tabellen die kan niet worden gewijzigd, maar die niet voldoen aan de standaarden voor.

  • Extra haakjes parameters wordt toegevoegd in query's die kunnen worden verwijderd.

  • SQL Server omgaat met NULL-waarden en tekenreeksen anders. Test query's om ervoor te zorgen dat de juiste waarden worden geretourneerd.

  • Voor voorwaardelijke instructies, Access gebruikt IIF tijdens T-SQL wordt vaak gebruikt voor hoofdletters/kleine letters, SQL Server 2012 en later IIFondersteunt.

  • Verschillende functies en gegevenstypen worden anders gebruikt in Access en T-SQL. SSMA moet converteren deze voor u, maar mogelijk moet u verder handmatig wijzigingen aanbrengen.

Gegevenstypen

Access en SQL Server hetzelfde gegevenstype bevatten, maar houd rekening met de volgende mogelijke oorzaken.

Het gegevenstype van grote getal    Het gegevenstype van grote getal een niet-monetaire, een numerieke waarde is opgeslagen en compatibel is met het gegevenstype van de SQL-bigint. U kunt dit gegevenstype efficiënt berekenen grote aantallen maar moeten gebruik van de Access-16 (16.0.7812 of hoger) ACCDB-bestandsindeling webdatabase en beter worden uitgevoerd met de 64-bits versie van Access. Zie het gegevenstype veel gebruikt en kiezen tussen de 64-bits of 32-bits versie van Officevoor meer informatie.

Bijlage   Het type bijlage opslaat een bestand in Access-database. In SQL Server moet u diverse opties voor u rekening moet houden. U kunt de bestanden extraheren uit de Access-database en klik vervolgens op te slaan koppelingen naar de bestanden in uw SQL Server-database. U kunt ook FILESTREAM of FileTables gebruiken om te houden van bijlagen die zijn opgeslagen in de SQL Server-database.

Hyperlink    Access-tabellen hebben hyperlink kolommen die biedt geen ondersteuning voor SQL Server. Standaard deze kolommen worden geconverteerd naar nvarchar(max) kolommen in SQL Server, maar u kunt de toewijzing om te kiezen, een kleinere gegevenstype aanpassen. U kunt nog steeds het gedrag van de hyperlink in formulieren en rapporten gebruiken in uw Access-oplossing als u de eigenschap Hyperlink voor het besturingselement ingesteld op waar.

Veld met meerdere waarden    Het veld met meerdere waarden van Access wordt geconverteerd naar SQL Server als ntext veld dat de scheidingstekens set waarden bevat. SQL Server biedt geen ondersteuning voor gegevenstypen met meerdere waarden die een veel-op-veel-relatie vormen. Mogelijk is er aanvullend ontwerp en conversie vereist.

Zie gegevenstypen vergelijkenvoor meer informatie over het toewijzen van Access en SQL Server-gegevenstypen.

Opmerking    Velden met meerdere waarden niet worden geconverteerd en zijn stopgezet in Access 2010.

Visual Basic

Hoewel VBA wordt niet ondersteund door SQL Server, moet u de volgende mogelijke oorzaken:

VBA-functies in query 's    Access-query's ondersteuning voor VBA-functies op gegevens in een kolom in een query. Maar Access-query's die gebruikmaken van VBA-functies kunnen niet worden uitgevoerd op SQL Server, zodat alle gevraagde gegevens worden doorgegeven aan Microsoft Access voor verwerking. In de meeste gevallen moeten deze query's worden geconverteerd naar externe query's ( Pass Through-query's, opgeslagen procedures of weergaven) die in SQL Server voor optimale prestaties uitvoeren.

Door gebruiker gedefinieerde functies in query 's    Microsoft Access-query's ondersteuning voor het gebruik van functies die zijn gedefinieerd in VBA-modules gegevensverwerking worden doorgegeven. Query's kunnen zijn zelfstandige versie van query's, SQL-instructies in de recordbronnen formulier/rapport, gegevensbronnen van keuzelijsten en keuzelijsten op formulieren, rapporten en tabelvelden en standaard- of validatie Regelexpressies. SQL Server kan deze door de gebruiker gedefinieerde functies niet uitvoeren. Mogelijk moet u handmatig het ontwerp van deze functies en deze omzetten naar opgeslagen procedures op SQL Server.

Prestaties optimaliseren

Veel, is de belangrijkste manier optimaliseren met uw nieuwe, back-enddatabase SQL-Server te bepalen hoe gebruikt u lokale of externe query's. Wanneer u uw gegevens naar SQL Server migreren, verplaatst u ook vanaf een bestandsserver op een client / server-databasemodel computing. Volg deze algemene richtlijnen:

  • Kleine, alleen-lezen-query's uitvoeren op de client voor snelle toegang.

  • Lange wordt uitgevoerd, alleen-lezen/schrijven query's op de server om te profiteren van de groter van verwerkingskracht.

  • Minimaliseren netwerkverkeer met filters en aggregatie om over te brengen alleen de gegevens die u nodig hebt.

Prestaties optimaliseren in het model client server-database

Uw toepassing kan ook gebruikmaken gebruiker gedefinieerde functies, opgeslagen procedures en triggers zodat delen toepassingslogica, bedrijfsregels en beleidsregels complexe query's, gegevensvalidatie en referentiële integriteit code op de server, in plaats van op de client.

Voorkomen dat een query die wordt gecombineerd met een lokale Access-tabel SQL Server-tabel, ook bekend als een hybride query wordt uitgevoerd. Dit type query vereist nog steeds toegang tot alle SQL Server-gegevens naar de lokale computer downloaden en de query vervolgens uitvoert, dat niet de query wordt uitgevoerd in SQL Server.

Een formulier recordset op basis van een grote tabel worden niet geopend en wiskundig kan uitschakelen.

Tot slot elke query optimale prestaties testen.

Zie voor meer informatie, Database Engine optimaliseren Advisor, Gebruik de Prestatie-analyse kunt optimaliseren van een Access-databaseen Optimaliseren van Microsoft Office Access toepassingen gekoppelde met SQL Server.

Zie ook

Migratiehandleiding voor Azure-Database

Gegevens naar Microsoft verzonden migratie Blog

Microsoft Access SQL Server-migratie, conversie en Upsize

Manieren om een Access-bureaubladdatabase te delen

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×