2
嗨,我们正在构建一个多租户解决方案,其中每个租户都有自己的数据库。 我们会将有关租户的信息保存在索引数据库中。 创建租户时,将执行以下步骤。写入数据库并创建数据库时的事务
创建租户类,将其保存到数据库中,在该数据库中将获得一个增量数,该数将用于命名我们将创建的数据库。 用增量编号创建数据库。 然后更新数据库模式。
这完全没有问题,问题是如果某些第二阶段将抛出异常。然后我们想要回滚租户的储蓄。我们可以在更大的交易中做到这一点吗?为了能够使用增量编号,我们被迫提交交易来获取它。我们是否应该使用其他命名策略?
想法?
您是否使用表中的IDENTITY /自动编号列来获取编号?您可以使用T-SQL中的SCOPE_IDENTITY()函数来获取添加的最后一条记录的标识值。 INSERT INTO X(a,b)VALUES(x,y); SET @TenantID = SCOPE_IDENTITY(); – 2010-09-13 01:03:18