gpt4 book ai didi

database - SQL Server 2005 - 多个数据库

转载 作者:搜寻专家 更新时间:2023-10-30 21:38:32 24 4
gpt4 key购买 nike

我们在工作中使用 SQL Server 2005,并且在开发开始时决定创建多个数据库。例如,我们有一个用于个人的数据库 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

这样做有什么缺点吗?除了显而易见的是,我们无法跨多个数据库强制执行数据完整性。由于数据可能位于磁盘的完全不同部分,加入时它会减慢速度吗?

我问的原因是因为我们正在重组我们的基础架构,这是一个不断出现的潜在问题。

最佳答案

当前的最佳做法是使用具有多个模式的同一个数据库。每个模式都可以放在自己的文件中,然后可以轻松备份。它还允许您强制执行外键约束。

我们过去像贵公司一样使用多数据库模型,最近我们将所有新开发切换为只使用模式。这样做我们没有损失任何东西,并且获得了执行我们的外键的能力,这是巨大的。

关于database - SQL Server 2005 - 多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2202615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com