Inaktiv inkonsistenz in der DB - Eilt

Marktwert

Gut bekanntes Mitglied
18. Oktober 2016
151
14
Hallo,

Ich habe im Was einen Kunden gelöscht, da dieser sich aus dem Testsystem eingeschlichen hatte (fragt nicht wie, ist halt passiert). Gleichzeitig hat sich ein Auftrag eingeschlichen, der aber über "Verkauf" nicht sichtbar war, über die Ansicht "Kunden" jedoch schon. Der Auftrag lies sich nicht löschen, also habe ich den Kunden gelöscht. Somit ist in der Wawa unter "Verkauf" und unter "Kunden" nichts mehr zu sehen.

Zur Sicherheit habe ich direkt in der DB geschaut und da ist der Datensatz noch drin - aber nur halb.
In der Tabelle dbo.tbestellpos sind Einträge vorhanden, in der duo.tbestellnr. ist keiner vorhanden, in der dbo.tbestellung ist er vorhanden. - das ist absolut inkonsistent.

Der mit Wawi gelöscht Kunde ist in der DB noch da.

Leider kann ich die Datensätze nicht in der DB löschen, da kommen dann verschiedene Fehlermeldungen.

Wie kann ich die Einträge löschen, gibt es da Werkzeug oder Tipps?
Hilfe...!!!
Danke im Voraus
Mit freundlichen Grüßen
Frank
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.295
407
Grundsätzlich: Es ist gar keine gute Idee, irgendetwas direkt in der Datenbank zu löschen oder auch nur zu ändern, lass besser die Finger davon!

Und das gilt insbesondere dann, wenn man die Logik der Datenbank nicht wirklich versteht, sorry dass ich das so drastisch sagen muß, aber Du liegst mit all Deinen Rückschlüssen von oben um 100% daneben und das zeigt überdeutlich, dass Du zwar die DB navigieren kannst, ihre Logik aber nicht verstehst, denn ...

- Wenn ein Kunde gelöscht wird, wird er nicht aus der Datenbank gelöscht, sondern in der Datenbank auf inaktiv gesetzt.
- Die Tabelle tbestellnr wird überhaupt nicht verwendet.
- Wenn man einen Kunden löscht, also inaktiv setzt heißt das beileibe nicht, dass auch alle Bestellungen dieses Kunden gelöscht werden sollen
> Oder meinst Du es sollten auch alle Lieferscheine, Rechnungen, Retouren, Emails, etc. dieses Kunden sofort mit gelöscht werden? Kannst Du Dir das Chaos vorstellen?
- Es bleiben also sowohl die Bestellungen des Kunden in tBestellung wie auch die zur jeweiligen Bestellung gehörigen Bestellpositionen in tbestellpos erhalten.

Nichts für ungut, aber das war nichts und jetzt hoffe ich mal für Dich, dass Du vor Deiner Harakiri-Aktion ein Komplett-Backup der DB gemacht hast... 😵
 

Walde IT-Systeme

Gut bekanntes Mitglied
12. Mai 2015
132
2
Mache erstmal ein Backup (sollte man jeden Tag machen, kann man ja automatisch machen lassen).
Danach Datenbank Prüfen und Bereinigen.
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.295
407
@Walde IT-Systeme - 2x Korrekt, aber das geht nicht auf Basis einer Datenbank, in der von Hand Daten gelöscht wurden. Er muss schon den Weg zurück über das Einspielen eines Backups nehmen und da diese Version der DB ja laut seines ursprünglichen Posts Auffälligkeiten hatte, macht er die Prüfung und Bereinigung der Datenbank dann auf der Datenbasis, denn bei der aktuellen Version könnte er sich auch nach einer Prüfung und Bereinigung NIE sicher sein, ob das gereicht hat, oder ob er sie jenseits von Gut und Böse zerschossen hat.
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.769
828
Zudem sollte erwähnt sein, dass es noch viel mehr Abhängigkeiten nebenbei gibt, daher kommen dann auch solche Phänomene zustande.
Allein die Such-Indexierung für Kundenstämme funkt hier schon zusätzlich rein.

Es ist mittlerweile schon etwas Zeit vergangen, die Frage ist ob ein >RollBack< überhaupt noch geht und Sinn macht, bevor man noch mehr die DB verbiegt.

Leider kann man auch schlecht helfen, ohne das System oder die Fehlermeldungen gesehen zu haben.
 

Walde IT-Systeme

Gut bekanntes Mitglied
12. Mai 2015
132
2
Sorry das Handlöschen habe ich scheinbar vor freude auf den Feuerabend nicht ganz so war genommen.
((Aber wie sagen es immer wieder Backup Backup und nochmals Backup + Server mit Hardware Raid + Notstrom USV.))

Aber zum Problem ich würde eine Testsystem mit WIn7-Win10 ferigmachen dort eine Zweites SQL (gleich dem aktiven) mit Wawi aufsetzen (gleich dem aktiven)
und dort erstmal eine Kopie einspielen und dort versuchen den Fehler genauer zu lokaliesieren und auch dort erstmal testweise versuchen zu beheben.
!!! Man spielt nicht mit dem Aktiven System !!! Immer nur mit einer Kopie
Und wenn man die Lösung hat kann man das mit dem Produktiven System durchführen. ANsonsten kann ich immer bei Null anfangen beim Testsystem // Kopie ohne das ich die Daten weiter kaput mache.
 

Ähnliche Themen