Страница 4 из 6 Сравнение BCP и DTS Import/Export Wizard Использование BCP для передачи данных не выглядит простой задачей. Резонно задать вопрос: "Существует ли более простой метод?". В SQL Server 7.0 и 2000 альтернативным методом передачи данных является использование DTS. DTS имеет много удобных свойств, таких, как графический интерфейс. Ярлык DTS (Import and Export Data) также можно найти через меню Start, и он запускает Import/Export Wizard. Эта утилита имеет в своём арсенале несколько удобных визардов интегрированных с Enterprise Manager, и обладает более широкими возможностями, а также может осуществлять более сложные преобразования данных, которые не доступны с помощью BCP. Также Вы можете использовать DTS для передачи данных между гетерогенными СУБД. На первый взгляд может показаться не понятным почему, если DTS имеет такие большие возможности, автор статьи рекомендует использовать BCP для копирования данных? Главным преимуществом использования для этого BCP, а не DTS Import/Export Wizard, является скорость передачи данных. Import/Export Wizard больше подходит для перемещения не большого количества данных или для одновременного преобразования данных. Поскольку этот визард часто требует меньшего времени для выполнения предварительных настроек копирования, он более удобен для небольших наборов данных. Однако, этот выигрыш во времени перестаёт быть решающим, когда наборы данных станут большими, и BCP начнёт превосходить его по быстродействию. Также, визард не может копировать данные без регистрации в журнале транзакций, что сказывается на увеличении времени его работы. Однако, наиболее важной причиной того, что автор статьи старается не использовать DTS, это то, что он (с настройками по умолчанию) не всегда создает таблицы, которая точно дублирует исходные таблицы. Могут быть утеряны ограничения, индексы и identity. Эта проблема не является критичной, если Вы передаёте не много и маленькие таблицы. Однако, при перемещении или копировании базы данных, Вы должны гарантировать, что вся база данных будет передана так, как она была изначально определена. Используя BCP и SQL-скрипты, которые генерирует Enterprise Manager, Вы создаете новые таблицы точно такими же, как исходные таблицы, наряду с их ограничениями, индексами и identity. Поскольку данные, которые перемещаются, будут идентичны, то и каждые пары таблиц в старой и новой базах будут функционально эквивалентны. |