As you have seen in this chapter, it is fairly easy to create and implement a typical data export or data import from one datasource to another using either BCP or DTS. We have shown you how to bulk load data into and out of SQL Server using the BCP utility and just bulk load data into SQL Server using the BULK INSERT statement. The multitude of switches BCP offers is very comprehensive and addresses most, if not all, importing and exporting situations. More important, with the advent of some additional switches like ORDER (within hints), TABLOCK (within hints), batches ( -b ), network packet sizes ( -a ), and others, it is significantly easier to increase the performance of BCP in a big way. BCP has been around for a long time, and it will continue to be the work-horse of bulk data loading and unloading.
For those who need to do complex data transformations, DTS provides a great place for building up and executing any transformations/imports/exports without having to venture into the world of programming. This is a big win for the data enablers of the world. However, in the future, you can expect to see more performance enhancements to DTS because that is still where DTS suffers the most.
The next chapter, "Administering Very Large SQL Server Databases," discusses issues related to large databases, including maintenance, backups and restores , indexes, and partitioning.