2010-05-09 5 views
1

Я использую SQL Server 2008 Enterprise DB и используя новый оператор Merge (когда источник и цель являются таблицами SQL Server 2008), и он работает хорошо. У меня есть другая таблица базы данных, которая размещена в SQL Server 2005 Enterprise DB. Я хочу знать, может ли оператор Merge использовать одну таблицу SQL Server 2008 в качестве источника, а другую таблицу SQL Server 2005 в качестве целевой? Эти две базы данных могут отсутствовать на одной машине. нео sql server merge statement

спасибо заранее, Джордж

ответ

2

Нет - оператор объединения должен быть в состоянии работать на сервере SQL, где вы вставляете записи, и ваш экземпляр 2005 не будет знать, что делать с ним.

+0

Вы имеете в виду, что источник и цель должны быть запущены на сервере Sql 2008? Или цель должна быть на сервере sql 2008, но источник (поскольку источник всегда доступен только для чтения) может быть на сервере sql server 2005? – George2

+1

Оператор слияния (или любой оператор sql) может выполняться только в экземпляре сервера, где живет база данных. Таким образом, хотя вы можете запускать запрос на сервере A, который обращается к серверу B, на самом деле происходит то, что сервер A отправляет SQL-запрос на сервер B, который сервер B должен затем запускать против своей собственной базы данных. Если B - sql 2005, и оператор содержит «слияние», он не сможет его запустить. – Ray

+0

Спасибо, вопрос ответил! – George2

Смежные вопросы