Этот вопрос в значительной степени зависит от вкуса и конкретных обстоятельств. Нет проблем с производительностью при вызове процедуры из другой базы данных.
Обычно я рекомендую не помещать хранимые процедуры в основную БД и обычно резервировать их для системного использования.
В некоторых случаях репликация процедур имеет смысл (например, если вы считаете, что есть вероятность, что в конечном итоге вы сможете разделить эти процедуры на несколько серверов). Я часто помещаю служебные процедуры и функции в отдельную базу данных с именем утилита.
Это облегчает поддержку, чем предоставление каждой базе данных своей собственной копии (только одно место для изменения кода, если я хочу добавить функциональность или обнаружение незначительной ошибки), но это также позволяет избежать загрязнения основной базы данных и упрощает резервное копирование и перенос всех моих служебных функций при подключении нового сервера.