• Is this SQL 2000 or 2008? You mention both in your post, so it's not clear.

    If you are refreshing one table, you're going to generate transaction log entries. There's no way around this. Everything, every change, is logged. You can minimize the logging using something like the bulk load recovery mode, but that may be more complex than you need.

    Are you running the dev server in full mode or simple mode? If it's in simple, you might just commit your batches in stages. Data Compare will let you do this. Whether you use Data Compare or SSIS, they're about the same in terms of what it happening and the logging. You can use smaller batches and run log backups (or checkpoints) to keep the log from growing too large.

    There isn't a big issue with shrinking the log file, but if you are using the space, there isn't much sense in shrinking it over and over. Shrink issues come into play more with data files than log files.