Я понял это. Возможно, это сильно рассердит экспертов по SQL, но я доволен решением.
Я создал свои хранимые процедуры в 'master'. Я знаю, что это обычно нет-нет. Я тогда использовал
USE master
EXEC sys.sp_MS_marksystemobject [sp_Users_SELECT]
GO
чтобы пометить каждого спрока как системный объект. Таким образом, они могут быть вызваны в другом контексте. Затем я могу сделать это:
USE DataBase200
EXEC sp_Users_SELECT
и он будет работать в контексте базы данных DataBase200, без необходимости развертывания sproc в этой базе данных. Пока все работает отлично. Помните, что для того, чтобы они были распознаны как системные объекты, вам необходимо добавить префикс к именам хранимых процедур sp_
.
Надеюсь, это кому-нибудь поможет.