【问题标题】:DB Alias on Sql Server 2008Sql Server 2008 上的数据库别名
【发布时间】:2013-03-12 20:57:12
【问题描述】:

我需要运行从我的 server1 到 server2 的迁移,两台服务器具有相同的数据库架构

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

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

我需要从 server1 连接到 server2,并且在完成此脚本之前,我必须在本地环境中运行,并且数据库名称不同(例如 DB1_Local 而不是 DB1)

我尝试为“Server1.DB1.dbo”创建同义词,因此当我必须将 Server1 的表与 Server2 上的其他表连接时,我会运行

MySynonymForServer1.MyTable 加入 MySynonymForServer2.MyTable ON ....

但这不起作用...

有没有办法做到这一点?

【问题讨论】:

    标签: sql-server linked-server synonym


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多