Infelizmente, você ficará bastante preso aos servidores Windows - o design do sistema operacional simplesmente não permitirá que você faça o que precisa para obter o "privilégio mínimo" em muitos casos. Embora você certamente possa configurar diretivas de restrição de software para impedir a execução de aplicativos não autorizados e configurar políticas de grupo para permitir que os usuários iniciem / parem certos serviços , haveria muitos problemas que você encontraria no administrador diário trabalho:
- a instalação da maioria dos patches provavelmente exigirá privilégios de "Administrador" e não se estabeleceria com direitos de usuário "normais" mesmo que o usuário tenha acesso "de controle total" ao diretório do programa
- devido aos recursos simplistas de gerenciamento de recursos do Windows Server (você não pode limitar a quantidade de memória ou tempo de CPU dado aos processos do usuário) os DBAs ainda seriam capazes de executar ações no servidor que prejudicariam seriamente outros processos em execução
- se você fizer com que os usuários do DBA sejam administradores locais, independentemente das ações que você executar para "bloqueá-los", eles poderão contornar qualquer limitação e romper qualquer cadeia por design
Como já foi indicado por bot403, a separação administrativa é melhor feita configurando um servidor dedicado com a menor possibilidade de interferência com serviços não relacionados. A virtualização deve ajudá-lo nisso, embora ao custo de memória e sobrecarga de processamento. Você poderia minimizar a sobrecarga não virtualizando totalmente os hosts, mas usando contêineres que permitiriam um nível suficiente de gerenciamento de recursos e separação administrativa. Dê uma olhada no Parallels Virtuozzo para um exemplo de como isso poderia ser.