SQL Server Migration Assistant für Access - 32 / 64 Bit Problematik

Aus aktuellem Anlass hier einige Infos zum "SQL Server Migration Assistant für Access" (SSMA)

Microsoft hat in seiner unendlichen und  unermesslichen Weisheit beschlossen, den SSMA für Access ab der Version 7.4 nur noch als 64 Bit Version anzubieten.

Meine persönliche Meinung zu diesem überaus sinnigen Entschluss ist weitgehend der Selbstzensur zum Opfer gefallen ...

 Verschlimmert wird dieser Entschluss durch folgende zwei Tatsachen:

  1. Die letzte 32-bit Version des SSMA für Access 7.3 steht bei Microsoft nicht mehr zum Download bereit.
  2. Es scheint überaus schwierig zu sein, einen vernünftigen 64-Treiber zu finden, der - bei einer installierten 32-bit Version von Office - sich vernünfig installieren lässt und mit 32-bit Versionen von Access zusammenarbeirtet.

 Die von mir hier vorgeschlagene Lösung ist:

Die in meinem Onedrive hier im Unterverzeichnis SSMA 1.73 verwendete Version 1.73 zu installieren. Diese ist die letzte Version, die auch als 32-bit Variante ausgeliefert wurde.

Er arbeitet problemlos mit SQL Server 2016 zusammen. Für SQL Server 2017 muss man wohl die neuere - 64-bit only - Variante verwenden und versuchen, diese zum Laufen zu bekommen.

NEU: Eigene Tests haben mir gezeigt, dass die Version 7.3 auch wunderbar mit der neuen SQL Server 2017 Version zurande kommt. (Man muss nur beim ersten Start "SQL Server vNext (Windows) -preview" angeben)

Dieser SSMA 7.6 64bit Info Artikel beschreibt aus MS Sicht, was zu tun ist, um mit dem 64-bit Tool zu arbeiten.

 

Tipps zur Arbeit mit SSMS

Für Access empfiehlt es sich dringend, die Datentypen anzupassen.

Der SQL Server Datetime2 Datentyp wird von manchen Treibern nicht korrekt als Datetime erkannt und sollte daher nicht verwendet werden. Daher ist besonders die Änderung der Zuordnung des Datentyps Date/Time (Access) in den bewährten Datetime wichtig.

Ebenso ist es wichtig, bei der Konvertierung einzustellen, dass für jede Tabelle ein Feld Timestamp erstellt wird.

 

Vor der Konvertierung sich unbedingt die Access Indizes ansehen, die Doppelten (die Access oft automatisch anlegt) löschen sowie sich alle Indizes zu notieren, die

Unique aber mit mehrfach NULL erlaubt sind (Unique Index with NULL), und diese vor der Konvertierung zu löschen.

 

Im SQL Server (ab 2008R2) können Unique Index with NULL einfach wie folgt neu erzeugt werden:

 

/****** Object:  Index [idx_Kunde_Matchcode_notnull]    Script Date: 09.04.2017 22:11:26 ******/

CREATE UNIQUE NONCLUSTERED INDEX [idx_Artikel_Matchcode_notnull] ON [dbo].[tblStamm_Artikel]

(

                [a_Matchcode] ASC

)

WHERE [a_Matchcode] IS NOT NULL;

GO

  

SQL Server Data Tools (SSDT)

 Neben der reinen Konvertierfunktion bietet dieses Tool die Möglichkeit, ein SSDT Projekt zu erzeugen. Ebenso kann auch ein SQL-Script erzeugt werden.

 Info zu SSDT:

 https://msdn.microsoft.com/de-de/library/hh272686(v=vs.103).aspx

https://docs.microsoft.com/de-de/sql/ssdt/download-sql-server-data-tools-ssdt

Wichtig: Gerade auch mit dem SQL Server 2017 ausprobiert: Man kann auch WUNDERBAR SSDT-Scripte oder SQL Scripte von irgendwelchen bereits bestehenden SQL Server Datenbanken (die NICHT mit dem SSMA konvertiert wurden) erzeugen. D.h. für die Arbeit mit SSDT ist der SSMA geradezu eine "Wunderwaffe" <g>

 SSDT für Visual Studio 2015 und SSDT für Visual Studio 2017 verwenden beide DacFx 17.2: Data-Tier Application Framework (DacFx) 17.2 herunterladen

Für den Fall, dass die Daten für VS2015 bei MS nicht mehr verfügbar sein sollten, sind sie im ssma Directory unter sonstiges enthalten.

 Nähere Infis siehe Redme.pdf im Onedrive-Ordner

Noch kein Feedback
Einen Kommentar hinterlassen

Sie müssen eingeloggt sein, um einen Kommentar zu hinterlassen. Jetzt einloggen!

Sie haben noch kein Konto. Sie können sich jetzt registrieren...
(Es dauert nur ein paar Sekunden!)