Fehlende Datensätze in SQL Server-Tabellen

9

Ich habe eine Datenbank mit einem Client eingerichtet, der Daten über Nacht zu verlieren scheint. Sie geben Datensätze ein und verlassen das System und behaupten dann, sie am nächsten Tag nicht mehr finden zu können.

Die ID-Nummern im Primärschlüssel-Index der betroffenen Tabellen scheinen Lücken zu enthalten, wenn sie automatisch inkrementiert und fortlaufend sein sollten. Der Client verfügt nicht über die Möglichkeit, Datensätze zu löschen, daher scheint ein Problem zu bestehen.

Ich habe versucht, DBCC CHECKDB und DBCC REINDEX zu verwenden, aber die Datensätze werden nicht mehr angezeigt und das Problem wird fortgesetzt.

Beim Beenden der VB.NET 2010 App verwende ich Folgendes, um den Datensatz für jede Tabelle zu schreiben:

%Vor%

Dieses System hat 2 Jahre lang funktioniert, aber es spielt jetzt. Könnte die Beschädigung der Datenbank das Problem sein?

    
rev_dev_01 10.01.2012, 15:26
quelle

3 Antworten

0

Dies scheint nun sortiert zu sein - der Client hat eine gespiegelte Festplatte ausgeführt, von denen eine mit SMART-Fehlerberichten zu stürzen begann. Da dies ersetzt wurde, ist das Problem nicht erneut aufgetreten.

Danke für die Hilfe!

    
rev_dev_01 03.02.2012, 14:17
quelle
3

da dies gerade begonnen hat, ist es möglich, dass sie 2012 irgendwo eintreten oder es mit dem Jahr 2012 zusammenhängt, vielleicht existiert dieser Wert nicht in einer Nachschlagetabelle, die Transaktion wird zurückgerollt

Wenn eine Transaktion rückgängig gemacht wird, wird der Identity-Wert NICHT wiederverwendet. Aus diesem Grund sehen Sie Lücken. Sie müssen herausfinden, warum Sie Rollbacks haben

    
SQLMenace 10.01.2012 15:35
quelle
2

Wenn Speicher bereitgestellt wird, umschließt die Methode TableAdapterManager.UpdateAll() die Aktualisierungen in einer Transaktion. Autoinkrementierungsfelder werden außerhalb von Transaktionen inkrementiert. Daher würde ich annehmen, dass einige Ihrer Transaktionen möglicherweise zurückgesetzt werden.

    
Phil Klein 10.01.2012 15:32
quelle