Ich bin gespannt, warum SQL Server die Werte msdb.dbo.sysschedules
für Datum und Uhrzeit int
anstelle von speichert datetime
. Ich gehe davon aus, dass der Grund auf etwas in SQL Server 2000 zurückgeht.
War es ein Problem mit der Speicherkapazität, der Leistung oder einem anderen Problem?
Antworten:
Weil damals die Entwurfssteuerungen viel lockerer waren als heute und die Person, die für den Entwurf dieser Tabelle verantwortlich war, dachte, es wäre einfacher, mit Ints umzugehen als mit separaten Datums- / Uhrzeitspalten (denken Sie daran, dass dies zurück war, bevor wir separate Datums- und Zeitdaten hatten Typen, und auch wenn die vorherrschende Logik war, dass der Umgang mit ganzen Zahlen viel effizienter war als Zeichenfolgen oder Datumsangaben). Wir alle zahlen immer noch für diese Designauswahl. Ich war versucht, meine eigene Tabelle zu erstellen, die vorhandene Tabelle durch eine Ansicht zu ersetzen und zu sehen, wie viel ich brechen könnte (nicht sicher, ob dies möglich ist, aber es würde jede benutzerdefinierte Codierung um Agent weniger schmerzhaft machen).
Ich bin mir nicht sicher, ob Sie jemals herausfinden werden, warum dies jetzt der Fall ist, es sei denn, Sie stellen diesen Entwickler in die Enge und geben ihm einen Fall von Scotch. Es ist wahrscheinlich dieselbe Mentalität, die zu zwei SPID-Spalten in der
sp_who2
Ausgabe geführt hat (wahre Geschichte, oder so wurde mir erzählt - der Entwickler hatte es satt, nach links zurückzuscrollen, um zu sehen, welche SPID für die Metriken auf der rechten Seite verantwortlich war, also er oder sie Sie fügte einen weiteren Eintrag am Ende der Spaltenliste hinzu.quelle