Eu concordo com Daniel Earwicker - a questão da segurança é praticamente imperfeita.
Se você tiver uma configuração de caixa única com um servidor da Web e apenas o banco de dados para esse servidor, se esse servidor estiver comprometido, você perderá o servidor da Web e apenas o banco de dados para esse aplicativo específico.
É exatamente o mesmo que acontece se você perder o servidor da web em uma configuração de 2 servidores. Você perde o servidor web e apenas o banco de dados para esse aplicativo específico.
O argumento de que 'o restante da integridade do servidor de banco de dados é mantido' onde você tem uma configuração de 2 servidores é irrelevante, porque no primeiro cenário, todos os outros servidores de banco de dados relacionados a todos os outros aplicativos (se houver algum) permanecem inalterados. - sendo, como estão, hospedados em outro lugar.
Da mesma forma, para a pergunta feita por Kev 'e quanto a todos os outros bancos de dados residentes no servidor de banco de dados? Tudo o que você perdeu é um banco de dados.
- se você estivesse hospedando um aplicativo e um banco de dados em um servidor, hospedaria apenas bancos de dados nesse servidor relacionados a esse aplicativo. Portanto, você não perderia nenhum banco de dados adicional em uma configuração de servidor único quando comparado a uma configuração de vários servidores.
Por outro lado, em uma configuração de 2 servidores, em que o invasor tinha acesso ao servidor Web e, por proxy, direitos limitados (no melhor dos casos) ao servidor de banco de dados, eles podiam colocar em risco os bancos de dados de todos os outros aplicativos, carregando faça consultas lentas e com muita memória ou maximize o espaço de armazenamento disponível no servidor de banco de dados. Ao separar os aplicativos em suas próprias preocupações, como a virtualização, você também os isola por motivos de segurança de maneira positiva.