我正在后端构建一个带有NodeJS和MSSQL的多租户应用程序,它将运行一个实例。我考虑使用基于模式的多租户架构,这意味着每个租户`[Tenant1]。[DataTable1],[Tenant2]。[DataTable1]`。
的单个数据库具有单独的模式。我的问题是,实现这一目标的更好方法是如何处理正确的"路由"来自不同租户的SQL查询?
我带来了四种解决方案:
EXECUTE AS USER = 'Tenant1' .. REVOKE
(数据库用户具有默认架构并只能访问它)。
或者使用单一架构共享数据库
Tenant_table
并在每行中插入tenant_id
。