0

我是 SQL Server 2008 的新手,但在阅读了有关 Schemas 的信息后,我有这个问题。

目前,对于我们拥有的每个新客户,我必须手动创建一个新数据库,然后从现有数据库中导入所有对象(表/视图/存储过程等)。现在,只要开发人员有任何更新(例如,表结构的更改、存储过程等),都必须在所有数据库中进行更改。我厌倦了使用 DBComparer 来修复数据库中的差异。

是否有可能拥有一个包含所有表/存储过程/视图的“主架构”?这样所有的“客户端数据库”都可以引用这个“主架构”,但仍然能够毫无问题地维护自己的数据。

4

2 回答 2

0

不,这是不可能的。Schemata 存在于数据库中。

多个客户端数据库 SIMILAR Schema,是的,但你必须一一升级。Schema 不在 master 中 - 它在每个数据库中,并且无法更改。事实上,每个 Schema 都是完全独立的,您可以在一个数据库中拥有 01 个“相同内容”Schemata。

于 2013-01-02T12:30:48.617 回答
0

可以有一个单一的“主”模式。拥有这个“主”模式可能是不可能的,并且仍然让每个客户端都毫无问题地维护自己的数据。

你看到的是一种多租户架构。Microsoft 的多租户数据架构很好地介绍了这些问题。

这个 SO 答案概述了您需要考虑的各种权衡。

于 2013-01-02T12:32:10.283 回答