Frage

Wie kann ich das Datum ein MS SQL Server 2000-Objekt herauszufinden, zuletzt geändert wurde?

Ich brauche eine Liste aller Ansichten, Procs, Funktionen zu erhalten usw., die seit dem 15. August geändert wurden. In SYSOBJECTS kann ich sehen, wurden die Datumsobjekte erstellt, aber ich muss wissen, wann sie veränderte letzte.

. NB: dies ist eine SQL 2000-Datenbank

War es hilfreich?

Lösung

Beachten Sie, dass SQL Server tatsächlich funktioniert nicht Aufzeichnung Datum der letzten Änderung. Es existiert nicht in irgendwelchen Systemtabellen.

Die Schemaänderungen Geschichte Bericht ist eigentlich aus dem Standard Trace . Da viele Admins (und Web-Hosts), die deaktivieren, kann es nicht für Sie arbeiten. Buck Woody hatte eine gute Erklärung, wie dieser Bericht funktioniert hier . Die Daten sind auch nur vorübergehend.

Aus diesem Grund sollten Sie nie auf den Bericht Änderungen Geschichte Schema VERLASSEN. Alternativen:

  • Verwenden Sie DDL-Triggern alle Schemaänderung an einer Tabelle protokollieren von Ihre Wahl.
  • Erzwingen ein Protokoll, wo Ansichten und Procs nie geändert werden, werden sie nur gelöscht und neu erstellt. Das bedeutet, das Erstellungsdatum wird auch das letzte aktualisierte Datum sein (das funktioniert nicht mit Tabellen offensichtlich).
  • vigilantly Version der SQL-Objekte und das Schema in der Quellcodeverwaltung.

-

Edit: sah, dass diese SQL 2000. Die Standard-Trace und DDL-Triggern ausgeschlossen ist. Sie sind mit einem der langwierigen Optionen verläßt ich oben aufgeführt ist.

Andere Tipps

Ich weiß, das ist ein bisschen alt, aber es ist möglich, die zuletzt geändert Datum von gespeichert Procs und Funktionen mit dieser Abfrage zu lesen:

USE [Your_DB]    
SELECT * FROM INFORMATION_SCHEMA.ROUTINES

dachte, es wäre schön, das zu erwähnen, da ich für diese sehr Lösung gesucht und dieser Thread war irreführend.

Ich habe mit folgenden Abfrage für das Änderungsdatum für über jede Prozedur Geschichte bestätigt Antwort bekam

Schritt -1 Führen Sie die Prozedur auf DB

SELECT name, create_date, modify_date 
FROM sys.objects
WHERE type = 'p' 

Schritt -2 Dann kopieren Sie den Text in Excel mit Header

Wählen Sie Route coloumn und fügen Sie anschließend die genaue Prozedur Namen in ^ F Fenster und drücken Sie die Eingabetaste Sie werden genaues Datum geändert erhalten.

Viele Grüße, Sudhir Pune

Dies ist nicht immer richtig, weil modify_date ist seit dem Objekt unter Verwendung einer ALTER-Anweisung zuletzt geändert wurde. Wenn das Objekt eine Tabelle oder eine Ansicht, modify_date ändert sich auch, wenn ein Clustered-Index für die Tabelle oder Sicht erstellt oder geändert wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top