|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Добрый день, есть 2 сервера SQL2016 и SQL2014. на SQL2016 второй сервер есть среди связанных серверов Иногда возникает задача таблицу, сформированную на SQL2016, перекинуть в SQL2014. Таблица на 10 полей, в среднем 1,2 млн записей на момент переброса сейчас просто использую на SQL2016: Код: sql 1. 2. 3. 4. 5. 6. 7.
предварительно очищая таблицу на SQL2014. отрабатывается около получаса Есть какой-либо другой, более быстрый способ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:08 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Alex_Va, В select добавить секцию where. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:16 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Wlr-l, where 1=1 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:21 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Alex_Va, Неплохо было бы узнать размер таблицы для начала )) Код: sql 1.
Очистка идет DELETE или TRUNCATE ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:22 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
rowsreserveddataindex_sizeunused1269185 720384 KB248672 KB469248 KB2464 KB Таблица очищается TRUNCATE 30 минут - не критично, в принципе, и ресурсов хватает. Стало интересно из-за того, что иногда в работе использую клиент для работы с базами - Navicat Он позволяет перебросить таблицу с одного сервера на другой просто используя ctrl+c ctrl+v и делает это почти на треть скорее по времени поэтому решил спросить у знающих людей ) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:37 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Alex_Va, Какая модель восстановления у БД на целевом сервере? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:45 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
invm, Полная ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:46 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Alex_Va, используйте мастер импорта. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:48 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Alex_Va, Размер точно не для 30 минут. на SQL2014.database_name.[dbo].[table_name] нет тригеров? Бывает, что если таблица нагружена, то TRUNCATE может "висеть". Очистка не занимает времени? Если наоборот, не с 2016 на 2014 качать, а с 2014 на 2016 забирать - так же долго? Если железо слабое, то попробуйте порциями заливать в цикле (по 10 000 или 100 000 строк) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:49 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:49 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
INSERT в таблицу на связанном сервере идет по одной строке, поэтому медленно, можно проверить профайлером. Надо не толкать данные, а тянуть, тогда будет вставка пачкой строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:56 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Тянуть - это чтобы INSERT ... SELECT выполнялся на целевом сервере ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:57 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Alex_Va, а если тупо выборка с другого сервера без сохранения? кстати, insert в линкованный сервер (push) всегда медленнее чем тот же insert выполненный с другой стороны (pull). ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 10:58 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
where - может быть не все данные нужно пересылать? " Иногда возникает задача " - т.е. можно считать задачу разовой. Тогда чем дольше она выполняется, тем лучше. Запустил задание и занимайся своими делами. Уже правильно заметили: изменять данные нужно в своей базе данных, а из чужой - только читать. Кроме производительности, это и безопаснее. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 11:27 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Спасибо всем, кто ответил Перепишу, чтоб "тянуть" и постараюсь разобраться з Bulk Import ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 11:32 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Alex_Va, мастер импорта использует bulk операции и выполняет вставку группами записей, не мешает основной работе. То же самое можно сделать при помощи SSIS. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 12:23 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Владислав Колосов, Вы правы, 3 минуты... Спасибо, огромное! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 12:46 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Alex_Va, ~7000 записей в секунду?!! или 1,8Мб в сек? что за жуть? Сетка 25 мегабит или батарейка в контроллере сдохла? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 13:02 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
ShIgor Alex_Va, ~7000 записей в секунду?!! или 1,8Мб в сек? что за жуть? Сетка 25 мегабит или батарейка в контроллере сдохла? Извините, я не настолько ещё спец, чтобы адекватно оценить жуть или не жуть Использовал запрос, написанный в первом посте, отрабатывалось долго. С помощью отдельного приложения (Navicat), его внутренними средствами - получалось немного быстрее, поэтому и подумал, что есть альтернативные способы, кроме INSERT INTO - SELECT Сделал то же самое с помощью мастера импорта, на который указал Владислав Колосов - отработалось всё за 3 минуты ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 13:53 |
|
Скопировать таблицу с одного сервера на другой
|
|||
---|---|---|---|
#18+
Alex_Va, вы всегда будете вручную запускать? 3 минуты - это время к которому нужно стремиться при автоматизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2021, 14:11 |
|
|
start [/forum/topic.php?fid=46&msg=40093989&tid=1684360]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
132ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 263ms |
total: | 501ms |
0 / 0 |