Frage

Gibt es eine eingebaute Möglichkeit in SQL Server 2005 Dinge zu prüfen, speziell wie eine gespeicherte Prozedur zu löschen? Gibt es eine History-Tabelle, dass ich abfragen kann? Wir haben ein Geheimnis sproc, die ein paar Mal jetzt verschwunden ist.

War es hilfreich?

Lösung

Sie können bauen diese mit DDL-Trigger:

http://msdn.microsoft.com/en-us/library /ms190989.aspx

Andere Tipps

Nur wenn Sie verwenden DDL-Triggern oder Profiler verfolgen Text "% DROP% PROC% procname%"

Beachten Sie, dass in SQL Server 2008 sie jetzt auch AUDIT haben zu ersetzen Profiler Spuren für Auding Aktivitäten. Es ist ähnlich, aber hat seine eigene Konfiguration UI und UI-Ergebnisse anzuzeigen

Sie können Setup eine Profiler-Ablaufverfolgung zur Erfassung des Audit Schema Object Management Ereignis und Filter basierend auf dem Datenbanknamen, die Sie interessieren. Jedes Mal, wenn ein Objekt im Schema erstellt wird, fallen gelassen, bearbeitet es wird ein Ereignis in Profiler Feuer, das der Person enthält, der die Änderung tat und den Namen der gespeicherten Prozedur.

Sie werden diese Profiler Spalten zumindest wollen: Application - Name der App Benutzer ausgeführt wurde, als sie Änderung Database - Databse das Objekt enthält, geändert EventSubClass - Art der Aktion zeigt ändern, zu modifizieren, Tropfen, erstellen usw. Loginname - Benutzerwechsel machen ObjektName - Objekt betroffen

[spät ein, sondern fügt Einzelheiten darüber, wie zu sehen, wer die Änderung vorgenommen hat, noch bevor Revisionssystem wird in Position gebracht]

Andere haben bereits verschiedene Möglichkeiten abgedeckt Sie können Audit-Daten zu überwachen, um zukünftige Änderungen starten, aber wenn Sie ursprünglich kein Revisionssystem in verfügen, dann ist es sehr schwierig, herauszufinden, wer wann was getan hat historisch.

Nur Option ist zu versuchen, Transaktionsprotokoll zu lesen Datenbank-Modus wird in vollständiger Genesung vorausgesetzt. Das Problem ist, dass diese nicht standardmäßig unterstützt wird. Die Optionen sind:

Sehen Sie diese Themen, um weitere Informationen:

Wie Transaktionsprotokoll in SQL Server 2008 sehen

SQL Server Transaktionsprotokoll Explorer / Analyzer

Wie Abfrage Geschichte in SQL Server Management sehen Studio

Ich bin damit einverstanden. Es kann der SQL Server Profiler mit Filter sein. Die DDL-Triggern in SQL Server vorhanden sind. Man könnte so etwas wie dies erstellen:

 CREATE TRIGGER ddl_drop_procedure 
    ON DATABASE 
    FOR DROP_PROCEDURE
   AS 
     RAISERROR ('You deleted a stored procedure',10, 1)

   GO

Die andere Option ist Tools von Drittanbietern wie Auto Audit von Codeplex zu verwenden, oder ApexSQL Trigger.

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