Sql 使用单一模式的多个客户端数据库-可能吗?

Sql 使用单一模式的多个客户端数据库-可能吗?,sql,sql-server,sql-server-2008,multi-tenant,Sql,Sql Server,Sql Server 2008,Multi Tenant,我是SQLServer2008新手,但在阅读了有关模式的内容后,我有一个问题 目前,对于我们拥有的每个新客户机,我都必须手动创建一个新数据库,然后从现有数据库导入所有对象(表/视图/存储过程等)。现在,无论开发人员何时进行任何更新(例如表结构、存储过程等的更改),都必须在所有数据库中进行更改。我厌倦了使用DBComparer来修复数据库中的差异 是否可以有一个包含所有表/存储过程/视图的“主模式”?以便所有“客户机数据库”都可以引用此“主模式”,但仍然能够维护自己的数据而不会出现任何问题。不,这

我是SQLServer2008新手,但在阅读了有关模式的内容后,我有一个问题

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


是否可以有一个包含所有表/存储过程/视图的“主模式”?以便所有“客户机数据库”都可以引用此“主模式”,但仍然能够维护自己的数据而不会出现任何问题。

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


多个客户端数据库类似于模式,是的,但您必须逐个升级。架构不在master中-它在每个数据库中,无法更改。事实上,每个模式都是完全独立的,在一个数据库中可以有01个“相同内容”模式。

有可能有一个“主”模式。可能不可能有这种“主”模式,并且仍然让每个客户机维护自己的数据而没有任何问题

您看到的是一种多租户体系结构。微软的是一个很好的问题介绍


对需要考虑的各种权衡进行了概述。

不,模式可以用于逻辑地将数据库中的对象分组。据我所知,数据库之间没有共享模式的概念。相反,您应该确保所有生产数据库的结构完全相同,生成一个执行必要更新的脚本,并在所有数据库中运行该脚本。应该不需要对所有数据库运行DBComparier。@Mikael-那么在上述场景中维护多个数据库的最佳解决方案是什么?@MikaelEriksson-我想知道数据库是否可以“共享”模式,以便所有更新都可以到达客户端,而不必运行您提到的脚本。这将大大减少错误/遗漏的机会谢谢你的帮助。我想我不得不接受“脚本”选项,因为共享数据库对客户端来说有点太难了。以及备份/恢复