Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server em Windows
Um grupo de disponibilidade Always On é uma colecção predefinida de bases de dados relacionais do SQL Server que efectuam a activação pós-falha em conjunto quando determinadas condições desencadeiam uma activação pós-falha em qualquer uma das bases de dados, redireccionando os pedidos para uma base de dados em espelho noutra instância do mesmo grupo de disponibilidade. Se você estiver usando grupos de disponibilidade como sua solução de alta disponibilidade, poderá usar um banco de dados nesse grupo como uma fonte de dados em uma solução tabular ou multidimensional do Analysis Services. Todas as seguintes operações do Analysis Services funcionam conforme o esperado ao usar um banco de dados de disponibilidade: processamento ou importação de dados, consulta direta de dados relacionais (usando o armazenamento ROLAP ou o modo DirectQuery) e write-back.
O processamento e as consultas são cargas de trabalho só de leitura. Pode melhorar o desempenho transferindo estas cargas de trabalho para uma réplica secundária legível. Configuração adicional é necessária para este cenário. Use a lista de verificação neste tópico para garantir que você siga todas as etapas.
Pré-requisitos
Você deve ter um logon do SQL Server em todas as réplicas. Você deve ser um administrador de sistemas para configurar grupos de disponibilidade, ouvintes e bancos de dados, mas os usuários só precisam de permissões de db_datareader para acessar o banco de dados de um cliente do Analysis Services.
Use um provedor de dados que ofereça suporte ao protocolo TDS (fluxo de dados tabulares) versão 7.4 ou mais recente, como o SQL Server Native Client 11.0 ou o Provedor de Dados para SQL Server no .NET Framework 4.02.
(Para cargas de trabalho só de leitura). A função da réplica secundária tem de ser configurada para ligações só de leitura, o grupo de disponibilidade tem de ter uma lista de encaminhamento e a ligação na fonte de dados do Analysis Services tem de especificar o listener do grupo de disponibilidade. As instruções são fornecidas neste tópico.
Lista de verificação: use uma réplica secundária para operações só de leitura
A menos que a sua solução do Analysis Services inclua regravação, pode configurar uma ligação à origem de dados para utilizar uma réplica secundária legível. Se você tiver uma conexão de rede rápida, a réplica secundária terá latência de dados muito baixa, fornecendo dados quase idênticos à réplica primária. Ao utilizar a réplica secundária para operações do Analysis Services, pode reduzir a contenção entre leitura e escrita na réplica primária e tirar melhor partido das réplicas secundárias no seu grupo de disponibilidade.
Por predefinição, tanto o acesso de leitura e escrita como o acesso com intenção de leitura são permitidos na réplica primária, e não é permitida qualquer ligação às réplicas secundárias. É necessária configuração adicional para estabelecer uma ligação de cliente em modo só de leitura a uma réplica secundária. A configuração requer que se definam propriedades na réplica secundária e que se execute um script T-SQL que define uma lista de encaminhamento só de leitura. Use os procedimentos a seguir para garantir que você executou ambas as etapas.
Observação
As etapas a seguir pressupõem um grupo de disponibilidade Always On e bancos de dados existentes. Se você estiver configurando um novo grupo, use o Assistente para Novo Grupo de Disponibilidade para criar o grupo e ingressar nos bancos de dados. O assistente verifica os pré-requisitos, fornece orientação para cada etapa e executa a sincronização inicial. Para obter mais informações, consulte Usar o Assistente de Grupo de Disponibilidade (SQL Server Management Studio).
Etapa 1: Configurar o acesso em uma réplica de disponibilidade
No Pesquisador de Objetos, conecte-se à instância do servidor que hospeda a réplica primária e expanda a árvore do servidor.
Observação
Estas etapas foram retiradas de Configurar o Acesso Só de Leitura numa Réplica de Disponibilidade (SQL Server), que fornece informações adicionais e instruções alternativas para realizar esta tarefa.
Expanda o nó Always On de Alta Disponibilidade e o nó de Grupos de Disponibilidade.
Clique no grupo de disponibilidade cuja réplica você deseja alterar. Expanda Réplicas de disponibilidade.
Clique com o botão direito do mouse na réplica secundária e clique em Propriedades.
Na caixa de diálogo Propriedades da Réplica de Disponibilidade , altere o acesso à conexão para a função secundária, da seguinte maneira:
Na lista pendente secundária legível, selecione Apenas intenção de leitura.
Na lista suspensa Ligações na função primária, selecione Permitir todas as ligações. Este é o padrão.
Opcionalmente, na lista pendente Modo de disponibilidade, selecione Confirmação síncrona. Esta etapa não é necessária, mas defini-la garante que haja paridade de dados entre a réplica primária e secundária.
Essa propriedade também é um requisito para failover planejado. Se quiser efetuar um failover manual planeado para efeitos de teste, defina Modo de disponibilidade como Confirmação síncrona para ambas as réplicas, primária e secundária.
Etapa 2: Configurar o encaminhamento só de leitura
Conecte-se à réplica principal.
Observação
Estas etapas foram retiradas de Configurar o Encaminhamento Só de Leitura para um Grupo de Disponibilidade (SQL Server), que fornece informações adicionais e instruções alternativas para executar esta tarefa.
Abra uma janela de consulta e cole no script a seguir. Esse script faz três coisas: habilita conexões legíveis para uma réplica secundária (que está desativada por padrão), define a URL de roteamento somente leitura e cria a lista de roteamento que prioriza como as solicitações de conexão são direcionadas. A primeira declaração, que permite ligações legíveis, é redundante se já tiver definido as propriedades no Management Studio, mas está incluída por uma questão de exaustividade.
ALTER AVAILABILITY GROUP [AG1] MODIFY REPLICA ON N'COMPUTER01' WITH (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY)); ALTER AVAILABILITY GROUP [AG1] MODIFY REPLICA ON N'COMPUTER01' WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER01.contoso.com:1433')); ALTER AVAILABILITY GROUP [AG1] MODIFY REPLICA ON N'COMPUTER02' WITH (SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY)); ALTER AVAILABILITY GROUP [AG1] MODIFY REPLICA ON N'COMPUTER02' WITH (SECONDARY_ROLE (READ_ONLY_ROUTING_URL = N'TCP://COMPUTER02.contoso.com:1433')); ALTER AVAILABILITY GROUP [AG1] MODIFY REPLICA ON N'COMPUTER01' WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('COMPUTER02','COMPUTER01'))); ALTER AVAILABILITY GROUP [AG1] MODIFY REPLICA ON N'COMPUTER02' WITH (PRIMARY_ROLE (READ_ONLY_ROUTING_LIST=('COMPUTER01','COMPUTER02'))); GOModifique o script, substituindo os marcadores de posição por valores válidos para a sua implementação:
Substitua 'Computer01' pelo nome da instância do servidor que hospeda a réplica primária.
Substitua 'Computer02' pelo nome da instância do servidor que hospeda a réplica secundária.
Substitua 'contoso.com' pelo nome do seu domínio ou omita-o do script se todos os computadores estiverem no mesmo domínio. Mantenha o número da porta se o ouvinte estiver usando a porta padrão. A porta realmente usada pelo ouvinte está listada na página de propriedades do Management Studio.
Execute o script.
Em seguida, crie uma fonte de dados em um modelo do Analysis Services que use um banco de dados do grupo que você acabou de configurar.
Criar uma fonte de dados do Analysis Services usando um banco de dados de disponibilidade Always On
Esta seção explica como criar uma fonte de dados do Analysis Services que se conecta a um banco de dados em um grupo de disponibilidade. Você pode usar estas instruções para configurar uma conexão com uma réplica primária (padrão) ou uma réplica secundária legível que você configurou com base nas etapas de uma seção anterior. As definições de configuração Always On, além das propriedades de conexão definidas no cliente, determinarão se uma réplica primária ou secundária será usada.
No SQL Server Data Tools, em um projeto Modelo Multidimensional e de Mineração de Dados do Analysis Services, clique com o botão direito do mouse em Fontes de Dados e selecione Nova Fonte de Dados. Clique em Novo para criar uma nova fonte de dados.
Como alternativa, para um projeto de modelo tabular, clique no menu Modelo e, em seguida, clique em Importar da Fonte de Dados.
No Gestor de Ligações, em Provider, escolha um provedor que ofereça suporte ao protocolo TDS (Tabular Data Stream). O SQL Server Native Client 11.0 dá suporte a esse protocolo.
No Gerenciador de Conexões, em Nome do Servidor, digite o nome do ouvinte do grupo de disponibilidade e escolha um banco de dados disponível no grupo.
O ouvinte do grupo de disponibilidade redireciona uma conexão de cliente para uma réplica primária para solicitações de leitura-gravação ou para uma réplica secundária se você especificar intenção de leitura na cadeia de conexão. Como as funções de réplica serão alteradas durante um failover (em que o primário se torna secundário e um secundário se torna primário), você sempre deve especificar o ouvinte para que a conexão do cliente seja redirecionada adequadamente.
Para determinar o nome do ouvinte do grupo de disponibilidade, você pode perguntar a um administrador de banco de dados ou conectar-se a uma instância no grupo de disponibilidade e exibir sua configuração de disponibilidade Always On.
Ainda no Gerenciador de Conexões, clique em Tudo no painel de navegação esquerdo para exibir a grade de propriedades do provedor de dados.
Defina Application Intent como READONLY se estiver a configurar uma ligação de cliente só de leitura para uma réplica secundária. Caso contrário, mantenha o padrão READWRITE para redirecionar a conexão para a réplica primária.
Em Informações de representação, selecione Utilizar um nome de utilizador e palavra-passe específicos do Windows e, em seguida, introduza uma conta de utilizador de domínio do Windows que tenha, no mínimo, permissões db_datareader na base de dados.
Não escolha Usar as credenciais do usuário atual ou Herdar. Você pode escolher Usar a conta de serviço, mas somente se essa conta tiver permissões de leitura no banco de dados.
Conclua a fonte de dados e feche o Assistente de Fonte de Dados.
Adicione MultiSubnetFailover=Yes à cadeia de conexão para fornecer deteção e conexão mais rápidas com o servidor ativo. Para obter mais informações sobre essa propriedade, consulte Suporte ao SQL Server Native Client para alta disponibilidade, recuperação de desastres.
Esta propriedade não é visível na grade de propriedades. Para adicionar a propriedade, clique com o botão direito do mouse na fonte de dados e escolha Exibir código. Adicionar
MultiSubnetFailover=Yesà cadeia de conexão.
A fonte de dados agora está definida. Agora você pode continuar a criar um modelo, começando com a exibição da fonte de dados ou, no caso de modelos tabulares, criando relações. Quando estiver em um ponto em que os dados devem ser recuperados do banco de dados de disponibilidade (por exemplo, quando estiver pronto para processar ou implantar a solução), você poderá testar a configuração para verificar se os dados são acessados a partir da réplica secundária.
Testar a configuração
Depois de configurar a réplica secundária e criar uma conexão de fonte de dados no Analysis Services, você pode confirmar se os comandos de processamento e consulta são redirecionados para a réplica secundária. Você também pode executar um failover manual planejado para verificar seu plano de recuperação para esse cenário.
Etapa 1: Confirmar se a conexão da fonte de dados foi redirecionada para a réplica secundária
Inicie o SQL Server Profiler e conecte-se à instância do SQL Server que hospeda a réplica secundária.
À medida que o rastreamento é executado, os eventos SQL:BatchStarting e SQL:BatchCompleting mostrarão as consultas emitidas pelo Analysis Services que estão sendo executadas na instância do mecanismo de banco de dados. Esses eventos são selecionados por padrão, então tudo o que você precisa fazer é iniciar o rastreamento.
No SQL Server Data Tools, abra o projeto ou solução do Analysis Services que contém uma conexão de fonte de dados que você deseja testar. Certifique-se de que a origem de dados especifica o escutador do grupo de disponibilidade e não uma instância do grupo.
Este passo é importante. O roteamento para a réplica secundária não ocorrerá se você especificar um nome de instância do servidor.
Organize as janelas do aplicativo para que você possa exibir o SQL Server Profiler e o SQL Server Data Tools lado a lado.
Implante a solução e, quando ela for concluída, interrompa o rastreamento.
Na janela de rastreamento, você verá eventos do aplicativo Microsoft SQL Server Analysis Services. Deverá ver instruções SELECT que recuperam dados de uma base de dados na instância do servidor que aloja a réplica secundária, o que comprova que a ligação foi feita através do listener para a réplica secundária.
Etapa 2: Executar um failover planejado para testar a configuração
No Management Studio, verifique as réplicas primária e secundária para garantir que ambas estejam configuradas para o modo de confirmação síncrona e sincronizadas no momento.
As etapas a seguir pressupõem que uma réplica secundária esteja configurada para confirmação síncrona.
Para verificar a sincronização, abra uma conexão com cada instância que hospeda as réplicas primária e secundária, expanda a pasta Bancos de Dados e verifique se o banco de dados tem (Sincronizado) e (Sincronização) anexados ao seu nome em cada réplica.
Observação
Estes passos foram retirados de Executar uma ativação pós-falha manual planeada de um grupo de disponibilidade (SQL Server), que fornece informações adicionais e instruções alternativas para realizar esta tarefa.
No SQL Server Profiler, inicie rastreamentos para cada réplica e exiba os rastreamentos lado a lado. Nos passos seguintes, irá comparar rastreios, confirmando que as consultas SQL utilizadas para processar ou consultar dados do Analysis Services passam de uma réplica para a outra.
Execute um comando de processamento ou consulta a partir do Analysis Services. Como você configurou a fonte de dados para uma conexão somente leitura, verá o comando ser executado na réplica secundária.
No Management Studio, conecte-se à réplica secundária.
Expanda o nó Always On de Alta Disponibilidade e o nó de Grupos de Disponibilidade.
Clique com o botão direito do rato no grupo de disponibilidade para realizar um failover e selecione o comando Failover. Isso inicia o Assistente de Grupo de Disponibilidade de Failover. Use o assistente para escolher qual réplica fazer a nova réplica primária.
Confirme se o failover foi bem-sucedido:
No Management Studio, expanda os grupos de disponibilidade para exibir as designações (primária) e (secundária). A instância que anteriormente era uma réplica primária agora deve ser uma réplica secundária.
Consulte o painel para determinar se foram detetados problemas de estado. Clique com o botão direito do mouse no grupo de disponibilidade e selecione Mostrar painel.
Aguarde um ou dois minutos até que o failover esteja concluído no back-end.
Repita o comando de processamento ou consulta na solução Analysis Services e observe os rastreamentos lado a lado no SQL Server Profiler. Você deve ver evidências de processamento na outra instância, que agora é a nova réplica secundária.
O que acontece depois de ocorrer um failover
Durante um failover, uma réplica secundária passa a desempenhar o papel primário e a anterior réplica primária passa a desempenhar o papel secundário. Todas as conexões de cliente são encerradas, a propriedade do ouvinte do grupo de disponibilidade é movida com a função de réplica primária para uma nova instância do SQL Server e o ponto de extremidade do ouvinte é vinculado aos endereços IP virtuais e às portas TCP da nova instância. Para obter mais informações, consulte Sobre o acesso de conexão de cliente a réplicas de disponibilidade (SQL Server).
Se ocorrer failover durante o processamento, o seguinte erro ocorrerá no Analysis Services no arquivo de log ou na janela de saída: "Erro OLE DB: erro OLE DB ou ODBC: falha de link de comunicação; 08S01; Provedor TPC: Uma conexão existente foi fechada à força pelo host remoto. ; 08S01."
Este erro deve ser resolvido se você esperar um minuto e tentar novamente. Se o grupo de disponibilidade estiver configurado corretamente para réplica secundária legível, o processamento será retomado na nova réplica secundária quando você tentar processar novamente.
Os erros persistentes são provavelmente devidos a um problema de configuração. Você pode tentar executar novamente o script T-SQL para resolver problemas com a lista de roteamento, URLs de roteamento somente leitura e intenção de leitura na réplica secundária. Você também deve verificar se a réplica primária permite todas as conexões.
Escrita de volta ao utilizar uma base de dados de disponibilidade Always On
O write-back é um recurso do Analysis Services que oferece suporte à análise de hipóteses no Excel. Também é comumente usado para tarefas de orçamento e previsão em aplicativos personalizados.
O suporte para write-back requer uma conexão de cliente READWRITE. No Excel, se você tentar gravar novamente em uma conexão somente leitura, ocorrerá o seguinte erro: "Não foi possível recuperar dados da fonte de dados externa."
Se você configurou uma conexão para sempre acessar uma réplica secundária legível, agora deverá configurar uma nova conexão que use uma conexão READWRITE com a réplica primária.
Para fazer isso, crie uma fonte de dados adicional em um modelo do Analysis Services para dar suporte à conexão leitura-gravação. Ao criar a fonte de dados adicional, use o mesmo nome de ouvinte e banco de dados que você especificou na conexão somente leitura, mas em vez de modificar a intenção do aplicativo, mantenha o padrão que oferece suporte a conexões READWRITE. Agora você pode adicionar novas tabelas de fatos ou dimensões à exibição da fonte de dados baseada na fonte de dados de leitura-gravação e, em seguida, habilitar o write-back nas novas tabelas.
Conteúdo relacionado
- Ligar a um serviço de escuta do grupo de disponibilidade AlwaysOn
- Transferir carga de trabalho só de leitura para a réplica secundária de um grupo de disponibilidade Always On
- Gestão baseada em políticas para questões operacionais com grupos de disponibilidade Always On
- Criar uma fonte de dados (SSAS Multidimensional)
- Ativar reescrita de dimensão