SQL Server: BCP против SQLCMD - что эффективнее? - PullRequest
3 голосов
/ 22 октября 2010

Я пишу программу на c # для экспорта данных SQL Server из одной базы данных и импорта их в другую. Поскольку эти два сервера не связаны, мне нужно выбрать метод, такой как bcp.

  1. В чем различия между этими двумя? Один эффективнее другого? И по каким сценариям?
  2. Каковы известные ограничения / проблемы совместимости каждого из них?
  3. Какие существуют другие методы для экспорта данных из SQL Server в файлы и импорта из них?
  4. Можно ли включить сжатие в этих файлах одновременно с их созданием с помощью переключателя командной строки вместо последующего архивирования?
  5. Пожалуйста, включите любые другие аспекты, которые вы считаете важными при принятии этого решения.

Заранее спасибо.

1 Ответ

2 голосов
/ 22 октября 2010

Не охватывает BCP, но я написал сообщение в блоге , в котором сравнивается пара подходов для массовой загрузки данных в SQL Server - по сравнению SqlBulkCopy с пакетными вставками через SqlDataAdapter.

Стоит проверить SqlBulkCopy - тип используемого вами процесса - запрос к базе данных 1 и получение SqlDataReader.Передайте этот SqlDataReader в SqlBulkCopy, чтобы сохранить эти данные в базе данных 2.

...