Ограничение количества строк операторов SELECT со связанными серверами - PullRequest
1 голос
/ 19 августа 2010

У меня есть эти связанные серверы A и B. Сервер A работает под управлением SQL Server 2008, а B - под управлением SQL Server 2000.

Я написал скрипт для переноса данных из группы таблиц из B в A. Данные довольно чувствительны, поэтому я боюсь, что больше не могу вам об этом рассказать. Однако я могу сказать, что мы говорим о большом количестве данных, в худшем случае около 300 тыс. Строк на SELECT. Я немного обеспокоен тем, что объем данных будет слишком много в памяти.

Мое первое, хотя я мог использовать ROWCOUNT, чтобы ограничить SELECT и просто перебирать операторы до тех пор, пока не будут перенесены все строки. Но потом я где-то читал, что вы не можете использовать эту технику со связанными серверами, но я не могу найти ссылку на это сейчас.

Итак, мой вопрос двоякий:
а) Правда ли, что вы не можете использовать упомянутую выше технику при работе со связанными серверами? (Я бы проверил это сам, если бы мой PM позволил это).

b) Если ответ на вопрос "да", есть какие-нибудь идеи о том, как гарантировать, что оба сервера смогут справиться с миграцией?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 26 января 2011

Я наконец получил свой PM, чтобы дать зеленый свет для некоторых экспериментов с использованием клонированных версий двух серверов.Оказывается, что сохранение такого количества строк в памяти не соответствует SQL Server.

0 голосов
/ 19 августа 2010

Если я правильно понимаю, вы делаете 300 КБ на выбор, но вся таблица, которую вы переносите, намного больше. Если это так, вы можете рассмотреть один из параметров группового импорта / экспорта , доступных в SQL Server.

...