sysschedules Datentypauswahl


7

Ich bin gespannt, warum SQL Server die Werte msdb.dbo.sysschedulesfür Datum und Uhrzeit intanstelle 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?


Es geht weiter zurück als das IIRC, auf SQL 6.5 oder 7.0. Keine Ahnung warum aber ...
gbn

Antworten:


5

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_who2Ausgabe 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.


Es ist ziemlich überraschend, dass es keine DMVs gibt, die Agent abdecken. Ich vermute, sie möchten es jetzt nicht für die vorhandenen Strukturen hinzufügen, da sie es wahrscheinlich zerreißen müssen, um datenbankbasierte Jobs zu implementieren.
Jon Seigel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.