Implicações de ter o IIS na máquina do SQL Server 2008 R2

3

um aplicativo precisa ter o IIS na mesma caixa do Reporting Services.

Hoje, o SSRS e o SQL permanecem na mesma caixa agrupada.

Eu preciso avaliar as opções que, para mim, são:

  1. Instalando o IIS nos dois nós do cluster
  2. Instalando o IIS e o Reporting Services em outra máquina

Eu preciso descobrir quais são os pontos bons e ruins de ter o IIS junto com o SQL

E os pontos positivos e negativos de se fazer o contrário.

Eu sei que o preço é alto se tiver outra máquina (ou vm) apenas com serviços de relatório e IIS.

Mas quais são as desvantagens de ter o IIS em uma máquina SQL?

PS: Tudo isso está na minha intranet, não exposto.

    
por Gabriel Guimarães 06.10.2011 / 22:58

4 respostas

5

O IIS e o SQL Server não têm incompatibilidades conhecidas, são apenas dois serviços diferentes que podem ser executados na mesma máquina, desde que os recursos de hardware sejam adequados para suportar ambos os aplicativos ao mesmo tempo, e você os proteja adequadamente.

Na verdade, o Reporting Services costumava ser executado no IIS como um aplicativo da Web: é apenas com o SQL Server 2008 que se tornou um aplicativo por conta própria, não dependendo mais do IIS; antes disso, o Reporting Services exigia IIS para ser executado.

Agora, sobre sua configuração: se você deseja executar o IIS em ambos os nós do cluster, deve estar ciente de que o IIS não foi projetado para clustering, mas para balanceamento de carga; ele pode ser executado em um cluster ativo / passivo, mas você precisará executar etapas adicionais para que ele tenha um failover normalmente de um nó para outro. As etapas exatas dependem do que seu aplicativo está fazendo.

    
por 06.10.2011 / 23:28
2

Isso é matemática simples.

Ter um serviço em uma caixa só exporá um serviço para ameaças. Então, se você puder comprometê-lo, você só terá acesso a essa máquina / serviço. Mas, tendo dois serviços em uma máquina, você duplicou o risco. Comprometer um (o menor elo fraco) compromete automaticamente o segundo.

Portanto, é por conta própria projetar isso por ter três, quatro, cinco, ... serviços em um host.

    
por 06.10.2011 / 23:13
2

Uma grande coisa que você desejará avaliar ao executar qualquer coisa lado a lado com o SQL Server é como configurar o uso de memória do SQL Server. Por padrão, ele está configurado para usar a quantidade máxima de memória do sistema disponível e tentará ativamente fazer isso. Ele carregará bancos de dados inteiros na memória o máximo possível, portanto, se você tiver grandes bancos de dados, desejará configurar a Maximum Server Memory para algo que permitirá que você tenha memória suficiente para o IIS também.

Você pode fazer isso de várias maneiras:

No SQL Server Management Studio, clique com o botão direito do mouse na sua instância do servidor no Pesquisador de objetos e clique em Memória na lista de páginas. Defina o valor na caixa Maximum server memory.

ou

Execute isto:

sp_configure 'show advanced options',1
GO

RECONFIGURE
GO

sp_configure 'max server memory (MB)',[some value]
GO

RECONFIGURE
GO

substituindo [algum valor] pela quantidade de memória em MB para a qual você deseja restringir o SQL Server.

    
por 07.10.2011 / 00:09
1

Desde que tudo esteja configurado corretamente, as senhas são razoavelmente complexas e as pessoas não podem fazer upload de código aleatório para o servidor; Eu realmente não vejo nenhuma desvantagem.

A desvantagem de ter várias caixas do IIS (supondo que você esteja executando algum tipo de aplicativo da Web aqui) é que você precisará considerar as opções de gerenciamento de sessão; se alguém se deslocar do IIS1 para o IIS2 e não puder compartilhar estados da sessão, provavelmente você terá problemas (eles podem não estar registrados de repente, coisas assim).

    
por 06.10.2011 / 23:14