Die letzten Objekt-Änderungen ermitteln
Wenn man alleine an einem Datenbank-Design für den MS SQL Server sitzt, weiß man, was man zuletzt so alles geändert hat. Arbeitet man im Team, sollte man es wissen, weil einem die Kollegen informieren und es natürlich auch eine Dokumentation mit Historie gibt.
Anders sieht es bei Datenbanken von Fremdherstellern aus, wie zum Beispiel eine zugekaufte ERP Software, hier wird man über als „intern“ betrachtete Änderung nicht informiert und die Update-Scripte liegen selten einem offen vor. Wenn man dann nicht per Profiler oder DDL Triggern die Änderungen mitprotokollieren lässt, weiß man nicht, was sich geändert hat und man wundert sich anschließend, das eigene Applikation, die auf die DB aufsetzen, nicht mehr funktionieren oder Auswertungen auf ein mal so merkwürdige Ergebnisse liefern.
Über das Feld modify_date des System-Views sys.objects kann man zumindest ermitteln, an welchen Objekten zuletzt Änderungen vorgenommen wurden; immerhin eine kleine Hilfe beim Versuch es nachzuvollziehen.
-- Welche Objekte wurden zuletzt geändert? SELECT SCH.name AS ObjectSchemaName, OBJ.name AS ObjectName, OBJ.type_desc AS ObjectType, OBJ.modify_date AS LastModifyDate, PAR.name AS ParentName, PAR.type_desc AS ParentObjectType FROM sys.objects AS OBJ INNER JOIN sys.schemas AS SCH ON OBJ.schema_id = SCH.schema_id LEFT JOIN sys.objects as PAR ON OBJ.parent_object_id = PAR.object_id ORDER BY OBJ.modify_date DESC