2
嗨,我們正在構建一個多租戶解決方案,其中每個租戶都有自己的數據庫。 我們會將有關租戶的信息保存在索引數據庫中。 創建租戶時,將執行以下步驟。寫入數據庫並創建數據庫時的事務
創建租戶類,將其保存到數據庫中,在該數據庫中將獲得一個增量數,該數將用於命名我們將創建的數據庫。 用增量編號創建數據庫。 然後更新數據庫模式。
這完全沒有問題,問題是如果某些第二階段將拋出異常。然後我們想要回滾租戶的儲蓄。我們可以在更大的交易中做到這一點嗎?爲了能夠使用增量編號,我們被迫提交交易來獲取它。我們是否應該使用其他命名策略?
想法?
您是否使用表中的IDENTITY /自動編號列來獲取編號?您可以使用T-SQL中的SCOPE_IDENTITY()函數來獲取添加的最後一條記錄的標識值。 INSERT INTO X(a,b)VALUES(x,y); SET @TenantID = SCOPE_IDENTITY(); – 2010-09-13 01:03:18