2010-05-09 54 views
1

我正在使用SQL Server 2008企業數據庫並使用新的合併語句(當源和目標都是SQL Server 2008數據庫表)時,它運行良好。我有另一個數據庫表在SQL Server 2005企業數據庫中託管。我想知道合併語句是否可以使用SQL Server 2008的一個表作爲源,而另一個SQL Server 2005作爲目標表?這兩個數據庫可能不在同一臺機器上。關於SQL服務器合併語句

由於事先 喬治

回答

2

否 - MERGE語句必須能夠在要插入記錄的SQL服務器上運行,你的2005實例不知道該怎麼辦。

+0

你的意思是源和目標都必須在Sql server 2008上運行?或目標必須在SQL Server 2008上,但源(因爲源始終只讀)可能在SQL Server 2005上? – George2 2010-05-09 16:03:05

+1

合併語句(或任何sql語句)只能在數據庫所在的服務器實例中運行。因此,雖然您可以在訪問服務器B的服務器A上運行查詢,但實際發生的是服務器A向服務器B發送sql語句,然後服務器B必須針對其自己的數據庫運行該語句。如果B是sql 2005,並且該語句包含「合併」,它將無法運行它。 – Ray 2010-05-09 17:18:50

+0

謝謝,問題回答! – George2 2010-05-10 02:42:30