2015-06-17 3 views
4

Фон: мы разрабатываем новый способ организации данных в наших базах данных, и команда БД, скорее всего, будет работать с базой данных «Core» с общими данными, характерными для нашей бизнес-области , и отдельную базу данных для каждого приложения, которое нуждается в этих данных. Скажем, один из них будет «MyApplication». Эти базы данных будут находиться на одном и том же экземпляре на одном сервере.Несколько баз данных на одном SQL Server с именем instance

Вопрос: Как я могу нарисовать таблицы, хранимые процедуры и данные из «ядра» в приложении, которое указывает на базу данных «MyApplication»?

Я знаю, что мы могли бы напрямую ссылаться на другую базу данных, но это усложняет работу приложений и не является предпочтительным. Наша первоначальная идея заключалась в создании записываемых представлений в базе данных «MyApplication» для всех объектов в «Core», но с этим маршрутом могут возникнуть проблемы с производительностью.

+1

Вы просматривали синонимы? –

+0

Вы можете использовать синонимы, но можете выйти из-под контроля, если вам нужно использовать слишком много объектов из Core. – artm

+0

Виды не имеют затрат времени исполнения, они включены в план запроса. У них вообще нет представления в оптимизаторе запросов. – usr

ответ

0

Если осложнения, которые вы пытаетесь избежать, это безопасность и разделение логических объектов для чтения кода, вы можете подумать о создании отдельных схем в базе данных CORE для каждого из ваших приложений. Вы также можете использовать application roles для обеспечения безопасности.

Смежные вопросы