在数据库 SQL2008R2 中使用 100 个模式?

6 sql-server-2008 database-design

我们处于 SSAS 类型的环境中,拥有 100 名客户。

目前,每个客户端都有一个数据库,我们在 SQL Server 2008R2 上每个实例有 200 个。这会限制 snapmanager 能够进行备份,因为建议的数量是每个实例 (netapp) 35 个数据库。

我们正在研究的解决方案之一是整合数据库——使用单独的模式将其中的 150 个收集到一个数据库中。

有没有人做过这样的事情?
每个数据库的模式数量是否有限制,或者我们应该注意的性能问题与使用单独数据库的比较?

谢谢您的回答。

我们需要 Snapmanager 的原因是因为这是我们目前用于 DR 复制的内容,他们的建议是每个实例 35 个数据库,否则备份/传输数据可能需要一个多小时,这打破了我们的 1 小时恢复要求。

但是根据他们的说法,如果我们每个实例有 1 个数据库(或 35 个以下),他们应该能够让它没有问题。

所以这就是为什么我们可能会研究模式,但这意味着每个数据库很可能至少有 100 个模式。

Rob*_*ley 4

您将遇到的一个问题是 SSMS。我的客户端在一个数据库中有很多对象,如果我们在对象资源管理器中展开“表”节点,SSMS 就会崩溃。

除此之外,我怀疑您的代码可能需要更改。您要么需要依赖每个连接的默认架构,要么需要更改每个查询。希望到目前为止您一直在使用两部分命名,因此每个 dbo.reference 都需要更改。远非理想。

您在文件组方面仍然具有很大的灵活性,这很好,并且拥有单个数据库甚至可能有助于避免事务日志上的磁盘头移动。

我怀疑无论哪种方式,性能都会受到很大影响。但所需的代码更改可能会带来巨大的挫败感。如果您需要依赖默认模式,则需要取出额外的锁(LCK_M_X)来确定您所引用的对象。

我真的很犹豫是否要重新设计那么多,但这确实取决于你的优先事项。