Anzahl Schlüsselfelder im SQL-Server

7. März 2007 17:47

Hallo!

Ich habe folgendes Problem. Ich habe eine native Datenbank, welche in den SQL-Server importiert werden soll. Dazu wurde diese mittels der migrate.fob geprüft. Beim Einlesen beschwert sich Navision bzw. der SQL-Server über einen Primärschlüssel einer Tabelle. Dieser Schlüssel hat mehr wie 16 Felder (18) und kann somit nicht im SQL-Server erstellt werden. Ich habe nun mittels des Developers Toolkit versucht herauszufinden, wo diverse Feldnamen des Schlüssels überall auftauchen. Das ist natürlich in der Tabelle (Feldname) der Schlüssel selbst und in diversen Formularen. Wonach kann man entscheiden, welche Felder man bedenkenlos aus dem Schlüssel rauslöschen kann, ohne daß dabei Programmierungen nicht mehr funktionieren? Falls das Feld nur zu Sortierzwecken angelegt wurde, wäre das Löschen ja nicht kritisch. Aber woran kann man das einwandfrei feststellen?

MFG
Andreas

8. März 2007 09:08

Vielleicht kannst Du ja den aktuellen Primärschlüssel als Sekundärschlüssel anlegen (= Non-Clustered Index in SQL Server, keine Spaltenbegrenzung, Limit = 900 bytes) und als PK z.B. lediglich eine laufende Nummer verwenden?
(Klar, die Logik muss dabei im Code geändert werden)

Um 'rauszufinden wo der aktuelle PK genutzt wird kann Dir vielleicht diese Tool helfen: http://www.mibuso.com/dlinfo.asp?FileID=755

8. März 2007 10:01

Danke, das Tool sieht sehr interessant aus. Ich werde es damit mal versuchen.