我可以将多个SQL数据库迁移到一个Babelfish实例中,并为不同的用户隔离它们吗



我正在将多个SQL数据库(比如A和B(迁移到一个Babelfish实例中。

我有SQL实例A和表x、y和z,实例B和表x,y和z。

我希望巴贝尔鱼有办法让它们作为A.x、A.y、A.z、B.x、B.y和B.z共存。

最初的想法是给表名加前缀(所以A_x、A_y等(,但这是不可行的,因为需要更改应用程序,所以我需要某种方法使其对应用程序透明,只要连接指向A或执行";使用A";一开始。

Babelfish允许您迁移数据库A和B,同时保留SQL server数据库结构以及引用A.dbo.x、B.dbo.x等。当你运行";使用A";然后做";从x选择*";,你会触摸A.dbo.x;USE B";首先,您将触摸B.dbo.x。因此,当您针对Babelfish运行用于创建数据库A和B的DDL时,您将获得与SQL Server中基本相同的结果,并且无需更改任何语法(再次假设当前不需要跨数据库查询(。

现在,如果您的问题是如何将数据库A和B合并到一个数据库中,那么这与您在SQL Server中的做法没有什么不同。在这种情况下,我建议在SQL Server中实际执行合并,然后对生成的SQL Server数据库进行反向工程,并对Babelfish运行该脚本以重新创建该数据库。

最新更新