Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Gelöschter Datensatz wieder einfügen mit Unique Index (SQL-Server 2012)

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von fracalifa, 6 November 2016.

  1. fracalifa

    fracalifa Neuer Benutzer

    Hallo DB'ler,

    ich habe das Problem, einen gelöschten Datensatz wieder in eine Tabelle einzufügen und den Unique Index (ID) des Datensatzes auf den alten Wert zu setzen.
    (Der Index ist logischerweise, in der bestehenden Tabelle nicht anderweitig vergeben worden - also unbelegt).

    Randbedingungen:
    - Der ehem. Datensatz ist in einer anderen Datenbank (Backup) vorhanden und verfügbar
    - Die Tabelle ist mit keinem Fremdschlüssel innerhalb der Datenbank verbunden

    Mein Versuch:
    - Datenbank gesichert
    - Unique Index abschalten und Tabellenänderung speichern (wollen)
    --> Fehlermeldung: Speicherung von Änderungen nicht möglich (SQL-Server 2012)
    (mit INSERT INTO ... SELECT ...) wäre das Wiederherstellen kein Problem gewesen.
    anschließend Unique Index wieder einschalten
    Das habe ich bei älteren Versionen von SQL-Server (2005) durchgeführt und das hatte problemlos geklappt.

    Frage:
    Wie bekomme ich den Datensatz wieder an die ursprüngliche Stelle (alter Unique Index) zurück.

    Danke für Eure Vorschläge
    Frank H.
     
  2. Tommi

    Tommi Datenbank-Guru

    Hi,

    wenn dein Uniqui Index eine einfache IDENTITY-Spalte mit aufsteigender Nummer ist,
    kannst du vor deinem Insert den Befehl

    SET IDENTITY_INSERT [Tabellenname] ON;

    Nach dem Einfügend er Dateizeile dann wieder abschalten.

    Ansonsten ist deine Vorgehensweise schon korrekt,
    was aber sein kann ist, dass du im Management-Studio die standardmäßig gesetzte Option aktiviert hast, die ein Speichern eines bestehenden Objektes,
    dessen Grunddefinitionen verändert werden, nicht erlaubt.

    Diese kannst du in den Optionen des Management-Studios deaktivieren:

    upload_2016-11-8_12-17-0.png

    Viele Grüße,
    Tommi
     

    Anhänge:

    ukulele und Walter gefällt das.
  3. fracalifa

    fracalifa Neuer Benutzer

    WOW Tommi,

    das klingt nach einer Lösung !!!
    Ja, meine INDENTITY-Spalte ist ein einfacher LONGINT, somit eigentlich einfach handlebar.
    Werde mich heute Nacht an die Arbeit machen.

    Vielen Dank,
    werde berichten!

    Gruß Frank
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden