Aqui estão algumas vantagens para várias instâncias:
-
security: cada instância tem sua própria configuração de segurança separada, para que alguém com acesso total a uma instância não tenha necessariamente acesso a outra instância. Se você hospedar um grande servidor SQL e hospedar bancos de dados para equipes diferentes em sua empresa, por exemplo, isso pode ser bom.
-
versões: cada instância pode executar uma versão / service pack / nível de patch diferente do SQL. Isso permite que você atenda às necessidades de diferentes aplicativos com um servidor SQL.
-
estabilidade: se o desenvolvedor X executa algum código em um banco de dados na instância 1 que de alguma forma atrapalha os bancos de dados mestre ou de modelo, pode causar problemas para outros bancos de dados nessa instância, mas não prejudicará outras instâncias.
-
controle de recursos: você pode controlar até certo ponto a quantidade de recursos (CPU, memória e disco) que uma instância pode usar. Isso pode ser usado para limitar quanto do servidor um aplicativo específico usa.
-
requisitos de aplicativos: alguns aplicativos simplesmente exigem que eles sejam executados em sua própria instância. Isso é menos comum nos dias de hoje, mas eu encontrei essa exigência com uma implantação recente do OCS da Microsoft e já vi isso antes.
Tenho certeza de que há mais vantagens (e espero que outros entrem em contato com isso) e sei com certeza que poderíamos gerar outra lista de desvantagens de várias instâncias. Se você precisa de várias instâncias ou não, é um equilíbrio de todos esses fatores.