Я думаю, что это сводится к битве моделей безопасности. Администратор базы данных может настаивать, чтобы вы сделали первое. Я, будучи более прагматичным, скорее всего, передал бы идентификатор арендатора в мои SP или запросы из прикладного уровня.
Я бы подкрепил это множеством модульных тестов, которые гарантируют, что один арендатор никогда не сможет увидеть данные других арендаторов, и я буду хранить текущий арендатор на сервере только в сеансе или в режиме simmilar, но не в cookie или в URL, или в другом месте, которое может быть взломано на клиенте.
Это значительно упрощает добавление новых арендаторов, поскольку конфигурация БД не требуется.
Конечно, сеансы могут быть взломаны, поэтому вы должны принять все меры предосторожности, чтобы гарантировать, что, несмотря на то, что вы храните идентификатор клиента на сервере, он защищен от подделок и т. Д.