Replicate SQL Data Inside Firewall to Outside Firewall - Suggestions Currently I have an internal CRM application that houses all my data and runs my entire company.  The front end is ASP, and the back end is SQL.  The external site will run SQL 

What I'd like to do is to have an external site for customer's to log in, manage their accounts, etc., but I am very concerned about my data and data security.  Are there any best practices that I can follow to "replicate" data to the external databases?  Are there some suggested methods people have done in this scenario?

My goal is to have the two databases linked with certain data.  Changes inside would be queued somehow to the outside, and vice versa.  If it is live, that wouldn't be the end of the world either.
The method I'm familiar with would be to to only have an internal database. The firewall separating your internal and DMZ networks can be configured to only allow appropriate communications through, in your case 1443 (or your SQL port) between the web server and database.  

However, you can't simply rely on your firewall for security. Proper SQL permissions would be necessary to only allow access to your web data. And of course you should be validating user input to protect against SQL injection. 

If you do want to go the replication route, check out the MS offerings such as SQL Server Transactional Replication.