Answers:
唯一的问题是,实际上并没有一种简便的方法来执行这些关系。您可以使用一系列触发器,也可以将主表存储在每个实例数据库中,然后仅使用视图将所有表作为元数据公开给主数据库。
我认为,最大的缺点与保持数据的准确性和同步性有关,至少在我头上的至少三种情况下(即使使用触发器,所有这些仍然是个问题):
话虽这么说,我一直并且永远都是将租户分离到自己的数据库中的狂热者,我承认中央数据库存在风险-但是这是必要的。
(顺便说一句,你应该比主/实例之外的其他数据库使用的名字。master
在SQL Server中肯定有一个明确的含义,甚至读我自己的话上面,他们可能是不明确的。同样的instance
,在以前的生活中,我跑了一个多-tenant系统,我们称为中央数据库Control
和tenant数据库,Tenants
。)