Tutorial: Microsoft Access Datenbank zu SQL Server konvertieren

Melden

Hier ist ein ausführliches Tutorial, wie du eine Microsoft Access-Datenbank auf einen SQL Server migrierst.

Die Migration einer Access-Datenbank (ACCDB/MDB) zu einem Microsoft SQL Server ist ein gängiger Schritt, wenn die Datenbank zu groß wird (Limit 2 GB), die Performance nachlässt oder mehr Sicherheit und gleichzeitig arbeitende Benutzer benötigt werden.

Der professionellste Weg hierfür ist die Verwendung des SQL Server Migration Assistant (SSMA) for Access.


1. Vorbereitungen

Bevor du startest, stelle sicher, dass folgende Voraussetzungen erfüllt sind:

  • Backup: Erstelle unbedingt eine Sicherungskopie deiner Access-Datenbank.
  • SQL Server: Du benötigst Zugriff auf eine SQL Server Instanz (lokal oder Azure).
  • SSMA Tool: Lade den SQL Server Migration Assistant for Access herunter und installiere ihn.
  • Berechtigungen: Du benötigst Schreibrechte auf dem SQL Server.

2. Schritt-für-Schritt Migration mit SSMA

Schritt 1: Ein neues Projekt erstellen

  1. Öffne den SSMA for Access.
  2. Klicke auf File > New Project.
  3. Gib dem Projekt einen Namen und wähle unter "Migrate to" die Version deines SQL Servers aus (z. B. SQL Server 2019 oder Azure SQL Database).

Schritt 2: Access-Datenbank hinzufügen

  1. Klicke oben in der Menüleiste auf Add Databases.
  2. Wähle deine Access-Datei aus. Die Tabellen erscheinen nun im linken Fensterbaum (Access Metadata Explorer).

Schritt 3: Verbindung zum SQL Server herstellen

  1. Klicke auf Connect to SQL Server.
  2. Gib deine Serverdaten ein:
    • Server name: z. B. localhost oder die IP-Adresse.
    • Database: Du kannst eine bestehende Datenbank wählen oder den Namen einer neuen eingeben (SSMA fragt dann, ob sie erstellt werden soll).
    • Authentication: Windows oder SQL Server Authentication.
  3. Klicke auf Connect.

Schritt 4: Schemata konvertieren (Schema Conversion)

Bevor Daten fließen, muss die Struktur (Tabellen, Datentypen, Indizes) vorbereitet werden.

  1. Markiere im Access Metadata Explorer die Datenbank oder einzelne Tabellen, die du konvertieren möchtest.
  2. Klicke oben auf Convert Schema.
  3. SSMA erstellt nun ein virtuelles Abbild der Tabellen für den SQL Server. Prüfe das Fenster "Output" unten auf Fehler oder Warnungen (z. B. inkompatible Datentypen).

Schritt 5: Schema auf den SQL Server schreiben (Synchronisieren)

Bisher existieren die Tabellen nur im SSMA-Tool, noch nicht auf dem echten SQL Server.

  1. Gehe zum rechten Fensterbaum (SQL Server Metadata Explorer).
  2. Klicke mit der rechten Maustaste auf den Datenbanknamen oder das Schema (meist dbo).
  3. Wähle Synchronize with Database.
  4. Bestätige das Fenster mit OK. Jetzt werden die Tabellen physisch auf dem SQL Server angelegt.

Schritt 6: Daten migrieren

  1. Gehe zurück zum linken Fensterbaum (Access Metadata Explorer).
  2. Klicke mit der rechten Maustaste auf die Access-Datenbank oder die Tabellen.
  3. Wähle Migrate Data.
  4. Du musst dich ggf. erneut am SQL Server anmelden.
  5. Ein Bericht zeigt dir am Ende an, wie viele Datensätze erfolgreich übertragen wurden.

3. Nach der Migration: Access als Frontend weiternutzen

In den meisten Fällen möchten Benutzer weiterhin die Access-Formulare und Berichte nutzen, während die Daten auf dem SQL Server liegen.

  1. Gehe in SSMA auf die migrierten Tabellen im Access-Explorer.
  2. Es gibt oft eine Option namens Link Tables. Wenn du diese ausführst, ersetzt Access seine lokalen Tabellen durch "Verknüpfte Tabellen" (Linked Tables), die per ODBC auf den SQL Server zugreifen.
  3. Manuelle Alternative in Access:
    • Öffne deine Access-Datei.
    • Gehe zu Externe Daten > Neue Datenquelle > Aus Datenbank > Aus SQL Server.
    • Wähle Verknüpfung zur Datenquelle erstellen.
    • Wähle die DSN (ODBC-Verbindung) zu deinem SQL Server aus.

4. Häufige Probleme und Tipps

  • Datentypen: Access "Memo"-Felder werden zu nvarchar(max), "AutoWert" wird zu IDENTITY. Prüfe nach der Migration, ob Primärschlüssel korrekt übernommen wurden.
  • Reservierte Wörter: SQL Server ist strenger bei Spaltennamen. Namen wie User, Order oder Date sollten in eckige Klammern gesetzt oder umbenannt werden.
  • Performance: SQL Server arbeitet mengenorientiert. Wenn du komplexe Access-Abfragen hast, ist es oft besser, diese als Views oder Stored Procedures direkt auf dem SQL Server anzulegen.
  • Mehrbenutzerbetrieb: Wenn mehrere Personen gleichzeitig arbeiten, ist die Verknüpfung über den SQL Server deutlich stabiler als eine geteilte Access-Datei im Netzwerkordner.

Fazit

Mit dem SSMA ist die Konvertierung fast automatisiert möglich. Der wichtigste Teil ist die anschließende Kontrolle der Datentypen und die Verknüpfung der Tabellen, damit deine bestehende Access-Anwendung ohne Programmieraufwand weiterläuft.

0