Datenbankexport Zugriff auf SQL Server: Indizes und Schlüssel?

8

Ich habe eine Anzahl von Microsoft Access-Datenbanktabellen mit ODBC in einen SQL Server 2012 exportiert. Anschließend habe ich die verknüpften Tabellen mit den Datenquellen verknüpft.

Jetzt ist das Problem.

Wenn ich die Tabellen in SQL Server selbst überprüfe, bemerke ich nur die Datenbanktabellen, Spalten und ihre jeweiligen Datentypen. Es gibt keine Schlüssel oder Indizes zu finden. In meiner Access-Datenbank wurden sie alle definiert. Außerdem habe ich festgestellt, dass Access anfordert, ein oder mehrere Felder zu wählen, die jeden Datensatz eindeutig identifizieren, um die Datenintegrität sicherzustellen und Datensätze zu aktualisieren. Diese werden dann zu den Primärschlüsseln, die ich verstehe, aber warum nicht die PK verwenden, die bereits vorhanden sind?

Was wäre der einfachste und effizienteste Weg, um auch die anderen Feldeigenschaften wie Indizes, Schlüssel, Einschränkungen zu migrieren? Ansonsten müsste ich all diese manuell definieren und das wäre sehr zeitintensiv.

Vielen Dank für Ihre Hilfe!

    
Kris Van den Bergh 10.12.2013, 08:21
quelle

1 Antwort

8

Wie Sie festgestellt haben, werden die Schlüssel und Indizes nicht kopiert, wenn Sie einfach eine Access-Tabelle mit External Data > Export > More > ODBC Database :

an SQL Server exportieren

Die Indizes, Schlüssel und Beziehungen werden jedoch auf SQL Server kopiert, wenn Sie den "Upsizing-Assistenten" verwenden, der über Database Tools > Move Data > SQL Server :

aufgerufen wird

Hinweis: Der "Upsizing-Assistent" wurde aus Access 2013 entfernt, sodass Benutzer von Access 2013 (und neuer) stattdessen den "SQL Server-Migrationsassistenten für Zugriff" verwenden müssen. Weitere Informationen finden Sie hier .

    
Gord Thompson 10.12.2013, 08:43
quelle