2013-03-12 76 views
0

我需要从我的server1上迁移到服务器2,在这两个服务器具有相同的DB模式数据库别名SQL Server上2008

服务器1: DB1.dbo ......所有表 DB2.dbo ..所有表

服务器2: DB1.dbo ......所有表 DB2.dbo ......所有表

我需要在Server1连接到Server2,而且直到我完成了这个剧本,我不得不在本地环境上运行,并且DB名称不同(如DB1_Local而不是DB1)

我尝试创建一个同义词“Server1.DB1.dbo”所以,当我加入Server1上的表与其他Server2上我要跑

MySynonymForServer1.MyTable JOIN MySynonymForServer2.MyTable ON .. ..

但这不起作用...

有什么办法可以做到这一点?

回答

1

同义词用于对象。您不能为模式或数据库创建同义词。但是,您可以为不同数据库中的对象创建同义词。所以在你的情况下,你必须为数据库中的每个对象创建一个同义词。通过循环遍历sys.objects中的对象,可以实现自动化。只要确保过滤掉不需要的对象类型,如约束。

+0

谢谢塞巴斯蒂安! – 2013-03-12 12:59:05