В следующем году я помогаю очистить несколько сред SQL Server.
У нас есть около 10 000 хранимых процедур, и, по нашим оценкам, только около 1000 из них используются на регулярной основе, а еще около 200 используются в редких случаях, что означает, что у нас много работы.
Поскольку у нас есть несколько отделов и групп, которые могут получить доступ к этим базам данных и процедурам, мы не всегда являемся теми, кто вызывает процедуры, а это означает, что мы должны определить, какие процедуры вызываются. Кроме того, мы хотим определить это в течение нескольких месяцев, а не нескольких дней (что исключает некоторые возможности).
Один из подходов к этому состоит в том, чтобы использовать SQL Server Profiler
и отслеживать, какие процедуры вызываются, и сравнивать их со списком тех процедур, которые у нас есть, отмечая, используются ли эти процедуры или нет. С тех пор мы можем перенести процедуры в другую схему, если отдел кричит.
Является ли использование Profiler
наиболее эффективного подхода здесь? И / или кто-нибудь из вас сделал нечто подобное и нашел другой способ / лучший способ сделать это?