Using SQL's built-in ability to replicate is likely the simplest approach, mostly because it does not require the addition of any third-party software or technology. It provides snapshot type replication (point-in-time) as well as transactional replication should there be a requirement for synchronized copies of the database. However, it does require an additional SQL server (subscriber) to be installed and licensed. It also implies strong SQL skills.
There are third-party software solutions available that build on SQL's native replication capabilities. They typically provide a relatively more user friendly interface with add-on features that can be useful for troubleshooting, such as a log view of replication failures down to the a single record level. That said, these solutions must be purchased separately and still require a licensed database server at the receiving end.
Another option is replication at the storage level, which can be accomplished via either hardware or software depending on the storage array used. This approach does not necessarily require an additional licensed server unless combined with a high availability cluster component. Data can simply be replicated and synchronized to a distant volume. Typically, this type of solution requires in-depth skills as a number of configuration files and parameters must be taken into consideration to ensure database integrity.
This was first published in July 2005