Выберите мастер импорта и экспорта VS на сервере sql.

На сервере sql с моего рабочего стола я подключился к серверу. И я хочу переместить данные из базы данных в другую. Я использовал мастер выбора и импорта. Но мастер импорта кажется медленным. Почему?

Есть ли какие-либо изменения в методологии передачи данных?


person Vignesh M    schedule 28.01.2015    source источник


Ответы (3)


Select into — это SQL-запрос, который выполняется напрямую.
Мастер импорта и экспорта — это инструмент, который вызывает службы интеграции (SSIS).
Мастер работает медленно, но может использовать различные источники данных.

Дополнительные сведения о мастере экспорта/импорта
https://msdn.microsoft.com/en-US/en-en/library/ms141209.aspx
Раздел о мастере выбора и экспорта/импорта
https://social.msdn.microsoft.com/forums/sqlserver/en-US/e0524b2a-0ea4-43e7-b74a-e9c7302e34e0/super-slow-performance-while-using-import-export-wizard

person Andrey Davydenko    schedule 05.02.2015

Я согласен с Андреем. Волшебник очень медленный. Если вы выполните поиск в Google по запросу «медленный мастер импорта и экспорта сервера sql», вы получите около 50 000 результатов. Возможно, вы захотите рассмотреть еще пару вариантов.

Утилита BCP

Примечание. Я использовал это несколько раз. Очень быстрая обработка.

Утилита bcp выполняет массовое копирование данных между экземпляром Microsoft SQL Server и файлом данных в указанном пользователем формате. Утилита bcp может использоваться для импорта большого количества новых строк в таблицы SQL Server или для экспорта данных из таблиц в файлы данных. За исключением случаев использования с параметром queryout, эта утилита не требует знания Transact-SQL. Чтобы импортировать данные в таблицу, вы должны либо использовать файл формата, созданный для этой таблицы, либо понимать структуру таблицы и типы данных, допустимые для ее столбцов.

Пример:

BULK INSERT TestServer.dbo.EmployeeAddresses
FROM 'D:\Users\Addresses.txt';
GO 

Функция OPENROWSET(BULK)

Функция OPENROWSET(BULK) подключается к источнику данных OLE DB для восстановления данных и позволяет получить доступ к удаленным данным путем подключения к удаленному источнику данных.

Пример:

INSERT INTO AllAddress(Address)
SELECT * FROM OPENROWSET( 
   BULK 'D:\Users\Addresses.txt', 
   SINGLE_BLOB) AS x;

Справочник

https://msdn.microsoft.com/en-us/library/ms175915.aspx

http://solutioncenter.apexsql.com/sql-server-bulk-copy-and-bulk-import-and-export-techniques/

person WorkSmarter    schedule 05.02.2015

Mysql хранит данные во многих местах и ​​хранит данные в небольшом фрагменте файлов для более быстрого извлечения, и когда мы используем мастер экспорта, он сначала записывает все метаданные и данные в нашу оперативную память и в зависимости от нашей системы и увеличивает накладные расходы, и то же самое происходит в случае импорта, и Select into работает быстро, потому что mysql должен создать встроенную реплику базы данных, которая уже существует.

в реальной жизни Select into похож на фотокопию страницы, тогда как мастер похож на переписывание страницы вручную.

person Daljeet Singh    schedule 10.02.2015