Эффективно ли перемещать большие наборы данных между таблицами SQL Server? - PullRequest
6 голосов
/ 24 ноября 2008

У меня довольно большая (много гигабайт) таблица данных в SQL Server, которую я хочу переместить в таблицу в другой базе данных на том же сервере.

Таблицы одинакового формата.

Какой самый эффективный способ сделать это?

Это однократная операция, поэтому автоматизация не требуется.

Большое спасибо.

Ответы [ 5 ]

6 голосов
/ 24 ноября 2008

Если это однократная операция, зачем заботиться о такой эффективности top ?

SELECT * INTO OtherDatabase..NewTable FROM ThisDatabase..OldTable

или

INSERT OtherDatabase..NewTable
SELECT * FROM ThisDatabase..OldTable

... и позволь ему бежать всю ночь. Я бы осмелился сказать, что использование SELECT / INSERT INTO на одном и том же сервере - это далеко не лучшая эффективность, которую вы можете получить.

2 голосов
/ 24 ноября 2008

Я бы пошел с ответом Томалака.

Возможно, вы захотите временно перевести целевую базу данных в режим восстановления с массовой регистрацией перед выполнением операции «выбрать в», чтобы остановить взрыв файла журнала ...

2 голосов
/ 24 ноября 2008

Или вы можете использовать «Мастер импорта и экспорта SQL», который находится в разделе «Управление» в Microsoft SQL Server Management Studio.

1 голос
/ 24 ноября 2008

Определенно переведите целевую БД в режим массовой записи. Это позволит минимально зарегистрировать операцию и ускорить ее.

1 голос
/ 24 ноября 2008

Если это SQL Server 7 или 2000, посмотрите на службы преобразования данных (DTS). Для SQL 2005 и 2008 посмотрите на SQL Server Integration Services (SSIS)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...