Это тривиальная задача выяснить, есть ли на объекте ссылка на что-то еще или нет. То, что я хотел бы сделать, это определить, действительно ли он используется .
Мое решение изначально включало в себя комбинацию таблицы, в которой содержался список объектов в базе данных, и почасовой работы.
Работа сделала две вещи. Сначала он искал новые объекты, которые были добавлены в базу данных с момента последнего запуска. Во-вторых, он посмотрел на объектный кеш sql. Если объект в таблице был указан в кеше, он был помечен в таблице как «недавно использованный».
В конце шестимесячного периода или любого другого, содержимое таблицы было проверено. На все перечисленные в таблице ссылки, которые не были видны, с тех пор, как я начал мониторинг, возможно, было безопасно выполнять резервное копирование и удаление.
Конечно, существует возможность использования объектов, скажем, один раз в год или что-то в этом роде, но, похоже, это работает по большей части.
Хотя работать с ней было немного больно.
Есть около полудюжины баз данных, с которыми я работаю, в большинстве из которых есть тонны устаревших таблиц, которые остаются еще долго после того, как их первоначальные создатели перешли в другие компании.
То, что я ищу, - это достаточно надежный метод отслеживания того, когда вызывается объект (таблица, представление, хранимая процедура или функция).
Для тех из вас, кто в настоящее время следит за такого рода вещами, какой метод / код вы используете, и вы бы порекомендовали его?