Мы используем SQL Server 2005 на работе, и когда началась разработка, было решено создать несколько баз данных. Например, у нас есть одна база данных для Individual, скажем, dbIndividual, а другая - для перевода, скажем, dbLocale.
Пока что это значительно упростило резервное копирование и потенциальное восстановление, поскольку нам просто нужно сделать резервную копию того, что нам нужно (если нет способа сделать резервную копию / восстановить только схему, о которой мы не знаем).
Это заставляет нас иметь несколько запросов с JOINS для нескольких таблиц и файлов базы данных.
например:
select customer.firstname, address.addressL1, addressType.value
from dbIndividual.dbo.customer
inner join dbIndividual.dbo.address
on fkCustomerID = iCustomerID
inner join dbLocale.translation.addressType
on fkAddressTypeID = iAddressTypeID
and fkLangID = 1
Есть ли какой-нибудь недостаток к этому? Помимо очевидного, что мы не можем обеспечить целостность данных в нескольких дБ. Не замедлит ли это соединение при соединении, поскольку данные потенциально находятся на совершенно другой части диска?
Причина, по которой я спрашиваю, заключается в том, что мы находимся в процессе реорганизации нашей инфраструктуры, и это одна потенциальная проблема, которая продолжала появляться.