AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 220810
Accepted
John K. N.
John K. N.
Asked: 2018-10-24 05:18:39 +0800 CST2018-10-24 05:18:39 +0800 CST 2018-10-24 05:18:39 +0800 CST

Configure o SQL Server Analysis Services (SSAS) para ser executado no mesmo IP que a instância do SQL Server

  • 772

TL;DR

Eu gostaria de adicionar o SQL Server 2014 Analysis Services a uma instância específica do SQL Server e configurá-lo de tal forma que o Analysis Services (SSAS) e o futuro Reporting Services (SSRS) apenas peguem solicitações na instância específica IP, para permitir que o SQL Server Browser Service permaneça no estado parado .


Pré-requisitos

Tenho os seguintes pré-requisitos em relação a um único Windows Server executando várias instâncias do SQL Server 2014:

Informação básica

- 2 x placas de rede
- 12 endereços IP
- 10 x Instâncias de Serviço do SQL Server Server (em execução)
- 10 x instâncias de serviço do SQL Server Agent Server (em execução)
- 1 x SQL Server Browser Service (não está em execução)

Configuração da placa de rede

As NICs do Windows Server são configuradas da seguinte forma:

- 1 x NIC (Rede de Backup)
    - 10.2.0.1
- 1 x NIC (LAN)
    - 10.2.0.2 (Servidor Windows)
    - 10.2.1.1 (SQL Server "Instance01"/CNAME: servername-ins01)
    - 10.2.1.2 (SQL Server "Instance02"/CNAME: servername-ins02)
    - 10.2.1.3 (SQL Server "Instance03"/CNAME: servername-ins03)
    - 10.2.1.4 (SQL Server "Instance04"/CNAME: servername-ins04)
    - 10.2.1.5 (SQL Server "Instance05"/CNAME: servername-ins05)
    - 10.2.1.6 (SQL Server "Instance06"/CNAME: servername-ins06)
    - 10.2.1.7 (SQL Server "Instance07"/CNAME: servername-ins07)
    - 10.2.1.8 (SQL Server "Instance08"/CNAME: servername-ins08)
    - 10.2.1.9 (SQL Server "Instance09"/CNAME: servername-ins09)
    - 10.2.1.10 (SQL Server "Instance10"/CNAME: servername-ins10)

Gerenciador de configuração do SQL Server

O SQL Server Configuration Manager é configurado da seguinte forma para cada "Instance nm " do SQL Server:

- Protocolo para 'Instance01'
    - Memória Compartilhada: Ativada
    - Pipes nomeados: Desativado
    - TCP/IP: Ativado

Propriedades TCP/IP 'Instance01' - Guia Protocolo

- Protocolo
    - Ativado: Sim
    - Manter vivo: 30000
    - Ouvir tudo: Não

Com as configurações acima, cada 'Instance nm ' ​​terá que ser configurado individualmente para responder a chamadas específicas de IP na porta configurada. (Observação: como um benefício adicional, cada instância poderá escutar na porta padrão do SQL Server 1433, o que, por sua vez, simplificará bastante a configuração do firewall, pois você poderá usar a regra de porta sql-server. Apenas dizendo .)

Propriedades TCP/IP 'Instance01' - Guia de Endereços IP

Para a entrada IP n que corresponde ao endereço IP da instância específica, as configurações são as seguintes:

- IPn
    - Ativo: Sim
    - Ativado: Sim
    - Endereço IP: 10.2.1.1
    - Portas TCP Dinâmicas:
    - Porta TCP: 1433
- IPTodos
    - Portas TCP Dinâmicas:
    - Porta TCP:

Qualquer outra entrada IP n não relacionada ao endereço IP específico da instância será configurada da seguinte forma:

- IPn
    - Ativo: Sim
    - Ativado: Não
    - Endereço IP: 10.2.1.xx
    - Portas TCP Dinâmicas:
    - Porta TCP:
 

Resumo rápido

Com as configurações e configurações acima, cada instância do SQL Server será executada em/com um endereço IP dedicado na porta padrão do SQL Server 1433. Cada instância possui seu próprio CNAME, que permite que os usuários se conectem aos SQL Servers:

  • servername-ins01
  • servername-ins02
  • servername-ins03
  • servername-ins04
  • servername-ins05
  • servername-ins06
  • ...

...sem precisar especificar a porta ou o nome da instância. Outra vantagem é que o SQL Server Browser Service não precisa estar em execução para distribuir chamadas para instâncias do SQL Server, porque cada chamada é roteada diretamente para o SQL Server (serviço) específico da instância.


Adicionar Analysis Services a uma instância

O fornecedor de software agora gostaria de aumentar a experiência do usuário e fornecer a capacidade de executar algumas consultas analíticas nos dados existentes. O fornecedor do software exige que instalemos o SQL Server Analysis Services. Este é um recurso específico da instância e, durante o processo de instalação, você deve selecionar a instância à qual adicionará o recurso.

Configuração do firewall

Para permitir conexões com o Analysis Services é necessário configurar a seguinte regra no firewall:

10.2.0.2:2382 (Browser Service)

Se eu tivesse usado a instância padrão (MSSQLSERVER), eu poderia ter configurado a seguinte regra no firewall:

10.2.1.1:2383 (Default Instance)

Isso está de acordo com a seguinte documentação:

SQL Server 2005 Analysis Services (SSAS) Server Properties (SQL Server 2005, mas aparentemente ainda válido para as versões atuais)

Conectando-se aos Serviços de Análise Específicos da Instância

Após a finalização da instalação, você se conecta ao Analysis Services específico da instância com a seguinte sintaxe:

servername\Instance01

Serviço de navegador do SQL Server

Depois de configurar o Analysis Service específico da instância do SQL Server, notei que o serviço SQL Server Browser agora estava no estado de execução .

Ops, isso significa que as solicitações para o Analysis Services estão sendo roteadas por meio do endereço IP do Windows Server (10.2.0.2) para a instância específica do SQL Server Analysis Service.

Se eu parar o serviço SQL Server Browser, não poderei mais me conectar ao SQL Server Analysis Services via servername\Instance01 .


Considerações de segurança

De acordo com a documentação acima mencionada:

O serviço SQL Server Browser é compartilhado entre o mecanismo de banco de dados do SQL Server 2005 e o mecanismo do Analysis Services. Para o mecanismo de banco de dados, por motivos de segurança, é recomendável desativar o serviço SQL Server Browser . Isso pode criar um dilema porque você pode precisar dele para o mecanismo do Analysis Services . É uma prática recomendada ativar o serviço se você precisar dele, mas, caso contrário, deixe-o desativado.

Uau.


Descobertas

A instalação do SQL Server Analysis Services iniciou o serviço SQL Server Browser, criando uma consideração de segurança .


Perguntas

  1. Posso configurar o SQL Server Analysis Services Instance01com o CNAME servername-ins01, para ser vinculado ao endereço IP 10.2.1.1?

  2. Posso configurar o SQL Server Analysis Services da minha instância nomeada de forma que eu possa parar o serviço SQL Server Browser novamente?

sql-server sql-server-2014
  • 2 2 respostas
  • 6589 Views

2 respostas

  • Voted
  1. David Browne - Microsoft
    2018-10-25T08:53:02+08:002018-10-25T08:53:02+08:00

    O Analysis Services sempre escuta em todos os IPs, a menos que seja uma instância clusterizada ou em execução em uma VM. Portanto, você não pode desabilitar o serviço do navegador nesta configuração.

    Se você puder viver com acesso IIS e HTTP, poderá configurar vários sites IIS executando instâncias do Analysis Services Data Pump.

    • 3
  2. Best Answer
    John K. N.
    2018-10-27T05:52:05+08:002018-10-27T05:52:05+08:00

    Introdução

    Depois de ler vários artigos online e configurar vários Analysis Services em um SQL Server de várias instâncias, posso fornecer as seguintes soluções possíveis para pessoas na mesma situação. Todos eles envolvem mais ou menos configurações e/ou configurações de firewall. Eles estão o mais próximo possível de uma configuração IP : PORT e/ou CNAME : PORT específica da instância.

    Material de referência

    Seguindo uma lista de artigos que analisei ao tentar configurar o Analysis Services para ser executado em um IP específico : configuração de porta :

    • Conectar-se de aplicativos cliente (Analysis Services) (Microsoft | Docs | SQL Server 2014)

    • Como determinar e alterar a porta de uma instância SSAS (Suporte da Microsoft)

    • Configurar o Firewall do Windows para permitir o acesso ao Analysis Services (Microsoft | Docs | SQL Server 2014)

    • SQL Server Browser Service (Database Engine e SSAS) (Microsoft | Docs | SQL Server 2014)

    • Propriedades do servidor SQL Server 2005 Analysis Services (SSAS) (Microsoft Technet)

    • Lista de números de porta TCP e UDP (Wikipedia)

      ainda válido para SQL Server AS 2005 a 2017

    Desculpe, você não pode configurar o SQL Server Analysis Service para ser executado em um endereço IP específico e um número de porta específico. No entanto, você pode configurar o SQL Server Analysis Service para ser executado em uma porta específica , mas o Analysis Service escutará em todos os endereços IP do servidor em que está instalado.
    Correr netstat -a | find ":238"diz tudo:

    TCP 0.0.0.0:2382 SERVERNAME:0 LISTENING
    TCP 0.0.0.0:2383 SERVERNAME:0 LISTENING
    TCP [::]:2382 SERVERNAME:0 LISTENING
    TCP [::]:2383 SERVERNAME:0 LISTENING


    Solução sem execução do navegador SQL Server

    Se você realmente está preocupado com a segurança e não quer que as pessoas "naveguem" em seu SQL Server para instâncias disponíveis, então você não quer o serviço SQL Server Browser em estado de execução . O ponto de partida para esta configuração é a seguinte instrução do SQL Server Browser Service (Database Engine e SSAS) :

    Se o serviço SQL Server Browser não estiver em execução, você ainda poderá se conectar ao SQL Server se fornecer o número de porta correto ou o pipe nomeado. Por exemplo, você pode se conectar à instância padrão do SQL Server com TCP/IP se estiver em execução na porta 1433.

    Mas você perde as seguintes habilidades:

    ( grifo meu; só quero eu queria)

    • Qualquer componente que tente se conectar a uma instância nomeada sem especificar totalmente todos os parâmetros (como a porta TCP/IP ou o pipe nomeado).

    • Qualquer componente que gere ou transmita informações de servidor\instância que possam ser usadas posteriormente por outros componentes para reconectar.

    • Conectando-se a uma instância nomeada sem fornecer o número da porta ou o canal.

    • DAC para uma instância nomeada ou a instância padrão se não estiver usando a porta TCP/IP 1433.

    • O serviço de redirecionador OLAP.

    • Enumerando servidores no SQL Server Management Studio, Enterprise Manager ou Query Analyzer.
      Se você estiver usando o SQL Server em um cenário cliente-servidor (por exemplo, quando seu aplicativo estiver acessando o SQL Server em uma rede), se você interromper ou desabilitar o serviço SQL Server Browser, deverá atribuir um número de porta específico a cada instância e escreva o código do aplicativo cliente para sempre usar esse número de porta. Esta abordagem tem os seguintes problemas:

      • Você deve atualizar e manter o código do aplicativo cliente para garantir que ele esteja se conectando à porta adequada.
      • A porta escolhida para cada instância pode ser usada por outro serviço ou aplicativo no servidor, fazendo com que a instância do SQL Server fique indisponível.

    Depois de instalar o SQL Server Analysis Service, você terá que fazer as seguintes alterações nas configurações/configurações do SSAS.


    Configurar a instância SSAS para escutar em uma porta específica

    Modifique a configuração SSAS da instância específica (por exemplo, Instance01) para escutar em uma porta específica. Cada instância (por exemplo Instance01, , Instance02, ...) requer sua própria porta dedicada. Você não pode configurar todas as instâncias para usar a mesma porta (por exemplo 2383)

    ... Com SSMS

    • Conecte-se ao Analysis Server (por exemplo servername\instance01)
    • Abra as Propriedades do Analysis Server.
    • Mude para a guia Geral
    • Role para baixo até a configuração da porta; deve ser 2383para a instância padrão (MSSQLSERVER) e 0para uma instância nomeada, o que significa que a porta é definida dinamicamente.
    • Insira uma porta padrão; não use 2382, pois isso pode atrapalhar o serviço SQL Server Browser que ainda está escutando na porta 2382qualquer conexão de entrada para as outras nove instâncias do SSAS atualmente em execução. Você pode querer considerar o uso de um número de porta na região de 49152–65535, que está disponível para uso privado (Lista de números de porta TCP e UDP / wikipedia).
    • Pressione OK.
    • Reinicie o serviço SQL Server Analysis Services (Instance01) .

    ... Com bloco de notas

    • Localize o msmdsrv.iniarquivo que normalmente se encontra no diretório do C:\Program Files\Microsoft SQL Server\MSAS12.INSTANCE01\OLAP\Configdiretório.
    • Abra o arquivo no Bloco de Notas.
    • Encontre a <Port>0</Port>configuração.
    • Insira uma porta padrão; não use 2382, pois isso pode atrapalhar o serviço SQL Server Browser que ainda está escutando na porta 2382qualquer conexão de entrada para as outras nove instâncias do SSAS atualmente em execução. Você pode querer considerar o uso de um número de porta na região de 49152–65535, que está disponível para uso privado (Lista de números de porta TCP e UDP / wikipedia).
    • Salve as alterações.
    • Reinicie o serviço SQL Server Analysis Services (Instance01) .

    Configurar clientes para se conectar a uma instância específica

    Para que os clientes possam se conectar ao Analysis Service, você terá que fornecer o Fully Qualified SQL Server Analysis Server Name (FQSSASN) com uma porta como esta:

    servername-ins01:52383
    

    Este é o CNAME do servername\instance01SQL Server, mas como o serviço SQL Server Browser será desativado no final, você não poderá usar servername\instance01:52383para se conectar ao servidor. Na verdade, isso não importa, porque a instância do SSAS pegará qualquer IP.

    Configurações de firewall

    Como a instância do SSAS está sendo executada em uma porta dedicada, você pode configurar o firewall para permitir conexões através do IP:porta da instância nomeada (por exemplo 10.2.1.1:52383, conforme a pergunta).

    Important The above procedure has to be repeated for each SSAS instance running on the dedicated server, incrementing the port number along the way. After all Analysis Services instances have been reconfigured to listen on a dedicated port, the SQL Server Browser service can then be turned off.

    Verifying Analysis Services Ports

    This can be verified by running netstat -abno and looking for the individual [msmdsrv.exe] entries:

      TCP    0.0.0.0:52382          0.0.0.0:0              LISTENING         6884
     [msmdsrv.exe]
      TCP    0.0.0.0:52383          0.0.0.0:0              LISTENING         7716
     [msmdsrv.exe]
      TCP    0.0.0.0:52384          0.0.0.0:0              LISTENING         7248
     [msmdsrv.exe]
    
      TCP    [::]:52382             [::]:0                 LISTENING         6884
     [msmdsrv.exe]
      TCP    [::]:52383             [::]:0                 LISTENING         7716
     [msmdsrv.exe]
      TCP    [::]:52384             [::]:0                 LISTENING         7248
     [msmdsrv.exe]
    

    The number at the end of the line is the process number of the service. You can look this up in the Windows Task Manager (PID) to verify that the Analysis Service for the specific instance is running on the specified port.

    Task Manager - MSMDSRV.exe processes

    SQL Server Browser Service

    Once you have configured all your SSAS instances to listen on individual ports and your existing SQL Servers are all running on dedicated IPs and ports (as in the question) , you can then stop the SQL Server Browser service.

    Each individual Analysis Service will be reachable via the CNAME:PORT syntax:

    servername-ins01:52383
    servername-ins02:52384
    servername-ins03:52385
    servername-ins04:52386
    
    • 2

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve