Announcement

Collapse
No announcement yet.

last modified einer Datenbank

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • last modified einer Datenbank

    Hallo zusammen,

    ich habe folgende Problemstellung und leider nur eine (m.E. unschöne Lösung dafür):

    Ich will aus einer Datenbank für bestimmten Tabellen ermitteln wann diese
    zuletzt geändert wurden - allerdings nicht sys.tables, da hier "modify_date" eine Anpassung der Struktur/Keys/Attribute etc. meint.
    Ich möchte herausfinden wann der letzte insert/update/delete auf der entspr. Tabelle erfolgte - und hiervon den jüngsten.

    Gibts dafür ne "schönere" Möglichkeit als meine folgende?

    In jede relevante Tabelle einen Trigger anlegen der bei ins/upd/del eine weitere Tabelle "X" mit dem Zeitstempel füllt. "X" müsste dann abgefragt werden.

    Vielen Dank im Voraus

  • #2
    Meines Wissens nach gibt es dafür nichts "schöneres".

    bye,
    Helmut

    Comment


    • #3
      Hallo quidam,

      es gibt etwas in der Richtung, aber das würde ich nicht gerade als sicher bezeichnen wollen.
      Voraussetzung ist, dass die Tabelle einen Index hat und das beim UPDATE ein indiziertes Feld betroffen ist (wie gesagt, leicht unsicher).
      Dann könntest Du die Index-Statistik aus den DMVs nutzen:

      [highlight=SQL]SELECT OBJ.*, IUS.*
      FROM sys.dm_db_index_usage_stats AS IUS
      INNER JOIN sys.objects AS OBJ
      ON IUS.object_id = OBJ.object_id
      WHERE OBJ.type = 'U '
      ORDER BY IUS.last_user_update DESC[/highlight]
      Olaf Helper

      <Blog> <Xing>
      * cogito ergo sum * errare humanum est * quote erat demonstrandum *
      Wenn ich denke, ist das ein Fehler und das beweise ich täglich

      Comment

      Working...
      X