Usando o SQL Server Enterprise Edition, você pode instalar até 50 SQL Servers. Então, sim, mais de um SQL Server pode ser instalado por máquina. Nesse caso, chamamos cada instalação de “instância” e cada uma possui um nome específico. É comum escutar o termo “Instância Default”, que poderia significar o mesmo que “instância sem nome” ou “instância com nome em branco”. Exemplo:
Note que múltiplas instâncias podem ser configuradas no servidor. Cada instância possui seus próprios serviços, binários, chaves de registry, etc. Em outras palavras, as instâncias são independentes. A consequencia disso é que cada instância:
Alguns componentes são considerados “compartilhados” e ficam nas pastas abaixo (80, 90, 100 se referem respectivamente ao SQL Server 2000, 2005, 2008).
Exemplo: A minha máquina possui os componentes compartilhados e duas instâncias nomeadas: SQLEXPRESS e KATMAI.
Em uma instância default, o nome do diretório seria somente MSSQL. Exemplo de uma instalação SQL Server 2000:
Note que os diretórios podem ser alterados\configurados durante a instalação inicial da instância SQL Server.
Referência
Instance Configuration
http://msdn.microsoft.com/en-us/library/ms143531.aspx
Locating Folders and Files (64-bit)
http://msdn.microsoft.com/en-us/library/aa274567(SQL.80).aspx
Olá Fabrício.
Já ouvi alguns profissionais dizerem que ter mais de uma instância no mesmo servidor pode ajudar devido limitação de existir apenas 1 tempdb por instância.Isso é mesmo verdade ?
Abraço
Alexandre.
Olá Fabrício muito bom ver você escrevendo novamente no blog. Cara, quando puder escreve algo sobre como ler minidumos.
Abraço,
Demétrio Silva
Olá Alexandre,
Nunca tinha ouvido esse comentário de ter múltiplas instâncias no servidor para evitar problemas de escalabilidade com o banco de dados temporário (TEPMDB). Mas, na teoria, você está 100% correto! Cada instância possui seu próprio TEMPDB independente e isso evita o compartilhamento do espaço. Uma arquitetura mais ousada seria ter múltiplos servidores e cada um com seu próprio TEMPDB em discos locais (ou DAS). Isso evitaria uma contenção no storage (SAN).
Se tiver mais comentários sobre esse assunto, não deixe de adicionar no blog. Tenho muito interesse nisso.
Abraços, Fabricio
Demétrio, bom dia!
Obrigado pelo seu comentário e é bom saber que continua seguindo o blog mesmo após longo tempo de ociosidade. Quanto ao minidump, isso é uma pendência antiga e que ainda não sei qual seria a melhor forma de falar sobre isso. Quero planejar melhor o que falar sobre isso e preciso de uma ajuda. Podemos conversar por email?
Oi Fabrício, já venho acompanhando seu blog há muito tempo e curtindo cada vez mais os seus posts.
Queria compartilhar um recente problema que tive relacionado ao uso das caches stores pelo SQL Server.
Será que poderia lhe mandar por email o cenário completo e assim você publicar algo em seu blog?
Grande abraço e continue com os excelentes posts.
Claro, manda o assunto sobre Cache Stores. Ficarei mais que feliz se puder publicar no blog.
Oi Fabrício,
Eu também fiquei interessado quando me falaram sobre isso, pois eu tenho muitos bancos em 1 instância apenas, e para piorar o servidor é 32 bits.
Imagina que eu tenho 100 bancos em uma instância.
Se eu dividir isso em duas instâncias ficaria com 50 bancos compartilhando o tempdb.
Além do que, se a arquitetura é 32 bits existe a limitação de 4 GB de memória sendo 2 para o Kernel sobrando "2" GB para aplicação, sem contar com memory to leave e etc.
Com a opção /PAE o Windows server reconhece até 64 GB de memória se não me engano.
Sendo assim posso ter 2 GB para cada instância podendo aproveitar pelo menos uns 60 GB da memória disponível e é claro que outros recursos como CPU,placa de rede e etc também teria que ser expandido.
Náo sei na prática, mas na teoria parece funcionar.
Abs.
Alexandre,
A prática de dividir os databases em mais de uma instância é muito utlizada em ambientes de grande porte. Uma das principais razões é a que você citou, diminuir a contenção na tempdb.
Em qual situação devemos utilizar mais de uma instância SQL Server 2008 em um mesmo servidor?
Olá Rodolfo,
Ao meu ver, o principal motivo seria segurança. Com instâncias diferentes, é possível realizar uma configuração independente dos SysAdmin e dos logins.