【问题标题】:about sql server merge statement关于sql server合并语句
【发布时间】:2010-05-09 21:32:00
【问题描述】:

我正在使用 SQL Server 2008 Enterprise DB 并使用新的 Merge 语句(当源和目标都是 SQL Server 2008 DB 表时),它运行良好。我有另一个数据库表,它托管在 SQL Server 2005 Enterprise DB 中。我想知道 Merge 语句是否可以使用 SQL Server 2008 的一个表作为源,而另一个 SQL Server 2005 的表作为目标?这两个数据库可能不在同一台机器上。

提前致谢, 乔治

【问题讨论】:

    标签: sql-server-2005 sql-server-2008


    【解决方案1】:

    否 - 合并语句必须能够在您插入记录的 sql 服务器上运行,并且您的 2005 实例不知道如何处理它。

    【讨论】:

    • 您的意思是源和目标都必须在 Sql server 2008 上运行?或者目标必须在 sql server 2008 上,但源(因为源始终是只读的)可能在 sql server 2005 上?
    • merge 语句(或任何 sql 语句)只能在数据库所在的服务器实例中运行。因此,虽然您可以在访问服务器 B 的服务器 A 上运行查询,但实际发生的是服务器 A 向服务器 B 发送一条 sql 语句,然后服务器 B 必须针对自己的数据库运行该语句。如果 B 是 sql 2005,并且该语句包含一个 'merge',它将无法运行它。
    猜你喜欢
    • 2011-07-05
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多