O que é compartilhado entre duas instâncias no mesmo servidor?

15

Queremos instalar várias instâncias do SQL Server em um único servidor Windows. Não podemos usar VMs porque o servidor é o Windows 2008 R2 bare metal.

Por questões de segurança, precisamos garantir que as duas instâncias não compartilhem nada, incluindo gerenciamento, serviços do Windows, contas etc. Então, acho que a pergunta é:

Ao instalar mais de uma "instância" do SQL Server em um servidor Windows, o que é compartilhado?

Prumo
fonte
Emm ... Por que o servidor sendo bare metal do Windows 2008 R2 impedia o uso de VMs? Possui HyperV.
Sharptooth 11/12/12

Respostas:

18

As instâncias do SQL Server têm conjuntos separados de binários para cada instalação. Para o mecanismo base, você terá serviços separados do SQL Server e do agente SQL que podem ser executados em contas separadas. Cada um deles tem suas próprias configurações e usuários. Isso também se aplica a outros componentes, como o Analysis Services e o Reporting Services, se você os instalar.

Existem componentes compartilhados, incluindo o Management Studio, o Integration Services e o serviço Navegador SQL. Você pode encontrar uma lista completa de componentes compartilhados aqui .

Observe que você terá várias considerações a fazer ao manter diferentes instâncias:

  • Consistência da versão SQL (cada instância pode ter uma versão SQL diferente)
  • Configurações de memória - cada instância manterá um conjunto de memórias separado das outras instâncias. Você desejará planejar suas configurações de Memória máxima para cada instância, para que as diferentes instâncias não concorram entre si.
  • Possível contenção de CPU - Todas as instâncias farão uso dos mesmos núcleos de CPU. Você pode gerenciar a máscara de afinidade do processador, se desejar reservar threads para diferentes instâncias, mas não tenho muita necessidade disso.

No geral, você deve ter em mente que todas as suas instâncias competirão por recursos no mesmo servidor, portanto, balance-os adequadamente.

Mike Fal
fonte
4

Quase nada será compartilhado.

Da perspectiva dos serviços reais do SQL Server, nada é compartilhado. Cada instância recebe seus próprios serviços e cada uma possui suas próprias cópias dos arquivos EXE reais.

Somente uma cópia das ferramentas de gerenciamento está instalada e itens como drivers são compartilhados.

Mrdenny
fonte
0

Talvez usar usuários diferentes do Windows para iniciar diferentes instâncias sql, pois outra camada de segurança pode ser uma boa ideia. Também é possível colocar arquivos MDF em diretórios separados, com diferentes usuários do Windows podendo acessar o diretório. E inicie diferentes instâncias nomeadas com usuários diferentes que podem acessar os MDFs necessários.

user2629395
fonte