SQL Server Identity Column (ID) Manipulieren

herbrich19
Goto Top
Gepriesen sei Das Rauhe Haus,

Eine Microsoft SQL Datenbank ist kaputt gegangen und konnte mit DBCC wieder zum laufen gebracht. Stichwort REPAIR_ALLOW_DATA_LOSS, nun möchte ich den einzigen verlorenen Eintrag wiederherstellen. Die ID ist jedoch automatisch Generiert. Es MUSS aber die ID 3 sein. Alle verwandten Einträge aus Beziehungen sind noch vorhanden und verweisen auf eben diesen Eintrag. Dies führt in übrigen auch dazu das die Software hängt.

Den Eintrag könnte ich mit Visual Studio manuell neu erstellen. Jedoch generiert der SQL Server in diesen Fall einfach eine neue ID. Die Idee das automatische generieren einer ID vorübergehend abzuschalten erfordert in MSSQL Managmand Studio das komplette neu erstellen der Tabelle was nicht geht weil dann auch alle restlichen Daten weg sind, und Visual Studio geht in ein Timeout wenn ich die Änderungen an der DB abspeichern will. In Visual Studio 2010 habe ich einfach die Eigenschaft Identitätsspezifikation (Is Identity) auf Nein (False) gestellt was es mir erlaubt das Feld manuell zu editieren und wenn alles wieder beim alten ist alles wieder auf Ja (True) zurück zu setzen und die Datenbank wäre somit wieder OK.

Hoffe wir können die Lösung zusammen finden.

Also in dem Sinne Danke im Vorraus und Gruß an die IT Welt ;-) face-wink
LG, J Herbrich

Content-Key: 2726250683

Url: https://administrator.de/contentid/2726250683

Ausgedruckt am: 01.07.2022 um 01:07 Uhr

Mitglied: Mystery-at-min
Mystery-at-min 09.05.2022 um 06:24:12 Uhr
Goto Top
Tendenziell Export der DB, Manipulation der Exportdatei, import.
Mitglied: MirkoKR
MirkoKR 09.05.2022 um 09:01:39 Uhr
Goto Top
Da bleibt dir wohl tatsächlich nur, den Eintrag mit neuer ID zu erstellen und in den referenzierten Tabellen die Referenz von 3 auf die neue ID zu setzen..

Blöd gelaufen ;-) face-wink
Mitglied: akretschmer
akretschmer 09.05.2022 um 10:55:00 Uhr
Goto Top
Hier kann man OVERRIDING SYSTEM VALUE nutzen:


Vielleicht hilft es ja. Davon abgesehen sind Deine Daten jetzt nicht konsistent. Ich würde eher auf ein Backup zurückgreifen.
Mitglied: MadMax
MadMax 09.05.2022 um 20:22:59 Uhr
Goto Top
Hallo J Herbrich,

ein Update geht zwar nicht, aber Du kannst den Datensatz neu einfügen mit der richtigen ID:

Gruß, Mad Max
Mitglied: Herbrich19
Herbrich19 23.05.2022 um 20:11:13 Uhr
Goto Top
Gepriesen sei Das Rauhe Haus,

Guten Abend liebe Kollegen,

Ich habe den besagten Eintrag jetzt mit der richtigen ID neu erstellt, jetzt stürzt das gesammte Programm wieder ab. Die Datenbank ist aber jetzt so gesehen in Ordnung. Die Abfrage der Daten in Visual Studio 2010 funktioniert mehr oder weniger ok. Zwischendurch gibt es aber connection timeouts.

LG, J Herbrich