我正在将多个SQL (例如A和B)迁移到单个Babelfish实例。
我有包含表x、y和z的SQL实例A,以及表x、y和z的实例B。
我想让巴巴鱼有办法让它们以A.x,A.y,A.z,B.x,B.y和B.z共存。
最初的想法是在表名(so A_x、A_y等)前加上前缀。但这是站不住脚的,因为应用程序所需的变化,所以我需要一些方法,使它透明的应用程序,只要连接点到A或做一个“使用A”在开始。
发布于 2022-03-17 14:21:21
Babelfish允许您迁移数据库A和B,同时保留SQL server数据库结构以及引用A.dbo.x、B.dbo.x等(请注意,当前数据库之外还不支持具有3部分对象名称的跨DB查询,但这些查询正在进行中)。当您运行“使用A”,然后执行"SELECT * FROM x“时,您将触碰A.dbo.x。当你先做“使用B”时,你会碰到B.dbo.x。因此,当您运行DDL来针对Babelfish创建数据库A和B时,您将获得与Server中的基本相同的结果,并且不需要更改任何语法(同样,假设当前不需要跨DB查询)。
现在,如果您的问题是如何将数据库A和B合并到一个数据库中,那么这与您如何在Server中这样做并没有什么不同。在本例中,我建议在Server中实际执行合并,然后反向工程生成的Server数据库,并针对Babelfish运行该脚本以重新创建该数据库。
https://stackoverflow.com/questions/71475838
复制