Im nächsten Jahr helfe ich bei der Bereinigung mehrerer SQL Server-Umgebungen.
Wir haben ungefähr 10.000 gespeicherte Prozeduren und schätzen, dass nur ungefähr 1000 von ihnen regelmäßig verwendet werden, und weitere 200 werden in seltenen Fällen verwendet, was bedeutet, dass wir viel Arbeit zu erledigen haben.
Da wir über mehrere Abteilungen und Teams verfügen, die auf diese Datenbanken und Prozeduren zugreifen können, werden die Prozeduren nicht immer von uns aufgerufen, sodass wir bestimmen müssen, welche Prozeduren aufgerufen werden. Darüber hinaus möchten wir dies über einige Monate und nicht über einige Tage hinweg feststellen (was einige Möglichkeiten ausschließt).
Ein Ansatz hierfür besteht darin, die SQL Server Profiler
Prozeduren zu verwenden und zu verfolgen, welche Prozeduren aufgerufen werden, und sie mit der Liste der verfügbaren Prozeduren zu vergleichen und zu markieren, ob die Prozeduren verwendet werden oder nicht. Ab dann könnten wir die Prozeduren in ein anderes Schema verschieben, falls eine Abteilung schreien sollte.
Ist der Profiler
effektivste Ansatz hier? Und / oder hat jemand von euch etwas Ähnliches gemacht und einen anderen / besseren Weg gefunden, dies zu tun?