We run a public website and need to populate a number of pages from our private databases. We don't want to push the data from our local sql server to the website's sql server as that will lead to stale data. We also don't want to open up any more access than is necessary from the public site to our secure network.
We're considering opening a single port for Sql to talk over, and have a sql instance using that port which will hold only the data that's needed by the web server. The limited instance can then read from production server, maybe through views?.
In this way even if the web site is hacked, the only access is to a read only sql instance. What do you think of this solution, is there a better way of doing this?