Datenbank-VIEW spiegeln nicht die Daten in der TABELLE underying

Eingang:

Geltend, dass die Anwendung (.NET), wenn Abfragen für einige Daten gibt Daten anders aus, wenn der Kunde sieht in der Daten-Tabelle direkt.

Ich verstehen, könnte es sein, verschiedenen Gründen und in ganz verschiedenen Orten. Mein Zweck ist nicht, um es zu lösen hier, sondern eher um Fragen erfahrene DB-Administratoren und DB-Entwicklern, wenn:

Ist es möglich, eine ANSICHT zur Anzeige von Daten, die nicht mit der zugrunde liegenden TABELLE(N)?

  • Was sind die möglichen Ursachen/Gründe dafür?
  • Kann eine UPDATE-Anweisung für eine Ansicht verursachen, die Zukunft Wählt return 'aktualisiert' - Daten, wenn die Tabelle wirklich nicht?

Mögliche Ursachen (bitte Kommentar auf diejenigen, mit Fragezeichen):

  1. der Grund ist, dass es zwei separate Transaktionen, die erklären, die Kunden zu Verwirrung.
  2. die zugrunde liegende Tabelle wurde geändert, aber die Ansicht nicht aktualisiert (mit sp_refreshview)
  3. einem anderen Benutzernamen verbinden und können sehen, dass verschiedene Daten, die durch Berechtigungen ?
  4. Programmierer Fehler: falsche Tabellen/Spalten, falsche Filter (all-in-one hier)
  5. Korruption tritt ein: DBCC CHECKDB sollte helfen
  6. kann SELECT ... FOR UPDATE Ursache dieser ???
  7. ? __

, Was wirklich passiert ist (DIE ANTWORT):

Spalte Positionen wurden geändert, in einigen Tabellen: Anscheinend ist der Kunde gab vollen Datenbank Zugriff auf einen Berater für die Datenbank-Nutzung-Analyse. Dass der große Kerl änderte sich die Reihenfolge der Spalten zu sehen, die wenigen audit Felder an den Anfang der Tabelle bei der Verwendung von SELECT * ... Klauseln.

Mit dbGhost wurde das Datenbank-schema im Vergleich zu dem schema der Sicherung, die einige Tage bevor das problem aufgetaucht, und die Spalte position Unterschiede entdeckt wurden.

Was als Nächstes kam, war nichts im Zusammenhang mit der Programmplanung, sondern mehr ein Problem der Politik.

Daher die sp_refreshview war die Lösung. Ich nahm einfach einen Schritt mehr zu finden, wer das problem verursacht hat. Danke an Euch alle.

  • Vielen Dank für die Ideen. Werden vor-Ort-morgen - update mit dem problem dieser Zeit.
  • Re #2: Nicht "Aktualisiert", sondern "Verändert". speziell die Spalte Definitionen wurden geändert (verändert, Hinzugefügt, entfernt, neu angeordnet, usw.).
  • vielen Dank - fest.
InformationsquelleAutor van | 2009-06-18
Schreibe einen Kommentar