2009-07-01 4 views
0

Предположим, что у вас есть два связанных сервера под названием Local и Remote соответственно.Сжатие данных в запросе

Есть ли синтаксис, который сжимает (и распаковывает) данные, необходимые для отправки с Local на Remote (или наоборот).

Например, если я обновить мою локальную базу данных с данными из моего Remote базы данных, я хотел бы сделать следующее:

INSERT INTO [Local Server].[Local DB Name].dbo.[Table] 
SELECT * 
FROM [Remote Server].[Remote DB Name].dbo.[Table] 

Есть ли синтаксис я могу применить, который сжимает данные, посылаемые Remote для Местные, следовательно, уменьшают затраты на пропускную способность и время выполнения?

ответ

1

В SQL Server ничего не встроено.

Альтернативой является отправка его в файл, zip-файл, перенос его и перенос его с другой стороны. Можно автоматизировать все это с одной стороны такими вещами, как xp_cmdshell.

+0

Спасибо за это! – super9

1

Вы можете использовать утилиту bcp SQL Server для копирования ваших данных, сжимать их самостоятельно и затем передавать их на удаленный сервер. Кроме того, загрузка в базу данных намного быстрее, чем использование операторов insert.

+0

Сочетание этого с рекомендацией Zip-файла Cade Roux может помочь, но только если вы говорите серьезно о больших наборах данных, которые нужно скопировать. Экономия будет достигнута за счет ведения журнала массового импорта и отсутствия одной огромной транзакции с соизмеримым воздействием на файл журнала. –

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