Atualização cumulativa 6 para SQL Server 2017

Aplica-se a: SQL Server 2017 on Windows (all editions)SQL Server 2017 on Linux (all editions)

Este artigo descreve o pacote de atualização cumulativa 6 (CU6) (número da compilação: 14.0.3025.34) para SQL Server 2017. Esta atualização contém correções que foram lançadas após o lançamento inicial do SQL Server 2017.

IMPORTANTE

Todas as distribuições (incluindo RHEL 7.3 e 7.4) que usam o mais recente disponível Pacemaker pacote 1.1.18-11.el7 introduzem uma alteração de comportamento para o Iniciar falha-for-fatal configuração de cluster quando seu valor for false. Essa alteração afeta o fluxo de trabalho de failover. Se uma réplica primária sofrer uma interrupção, o cluster deve failover para uma das réplicas de secundário disponíveis. Em vez disso, os usuários notarão o cluster continua tentando iniciar a réplica primária com falha. Se esse principal nunca for colocado online (devido a uma interrupção permanente), o cluster nunca failover para outra réplica secundária disponível.

Esse problema afeta todas as versões do SQL Server, independentemente da versão dopdateu umulativeque ele está.

Para atenuar o problema, use um dos seguintes métodos.

Método 1

Execute as seguintes etapas:

  1. Remover o Iniciar falha-for-fatal substituir do cluster existente. 
       # RHEL, Ubuntu         pcs property unset start-failure-is-fatal         # or         pcs property set start-failure-is-fatal=true   # SLES         crm configure property start-failure-is-fatal=true
  2. Diminua o valor de intervalo de nova verificação de cluster
       # RHEL, Ubuntu         pcs property set cluster-recheck-interval=<Xmin>   # SLES         crm configure property cluster-recheck-interval=<Xmin>
  3. Adicione a propriedade da meta de tempo limite de falha para cada recurso AG. 
       # RHEL, Ubuntu         pcs resource update ag1 meta failure-timeout=60s   # SLES         crm configure edit ag1      # In the text editor, add `meta failure-timeout=60s` after any `param`s and before any `op`s
     

    Observação Nesse código, substitua o valor de valores < Xmin > conforme apropriado. Se uma réplica falhar, o cluster tentará reiniciar a réplica em um intervalo que é vinculado, o valor de tempo limite de falha e o valor do intervalo de nova verificação de cluster . Por exemplo, se o tempo limite de falha é definido como 60 segundos e intervalo de nova verificação de cluster é definida como 120 segundos, a reinicialização é tentada em um intervalo maior que 60 segundos, mas menos de 120 segundos. Recomendamos que você defina o tempo limite de falha para 60s e intervalo de nova verificação de cluster para um valor maior que 60 segundos. Não é recomendável definir o intervalo de nova verificação de cluster para um valor pequeno. Para obter mais informações, consulte a documentação do Pacemaker ou consulte o fornecedor do sistema. 

Método 2

Reverta para versão 1.1.16 Pacemaker. 

Atualização cumulativa

Atualizações cumulativas (CUs) agora estão disponíveis no Centro de Download da Microsoft.Somente a CU mais recente lançada para o SQL Server 2017 está disponível no Centro de Download.

CU pacotes para Linux estão disponíveis em https://packages.microsoft.com/.

Observações

  • Cada nova CU contém todas as correções que foram incluídas com a CU anterior para a versão instalada do SQL Server.
  • As CUs do SQL Server são certificadas nos mesmos níveis que os Pacotes de Serviço e devem ser instaladas com o mesmo nível de confiança.
  • A Microsoft recomenda a instalação contínua e proativa de CUs conforme eles se tornam disponíveis de acordo com estas diretrizes:
    • Dados históricos mostram que um número significativo de casos de suporte envolvem um problema que já foi abordado em uma CU lançada.
    • CUs podem conter valor agregado além de hotfixes. Isso inclui atualizações na capacidade de suporte, gerenciamento e confiabilidade.
  • É recomendável que você teste as CUs antes de implantá-las em ambientes de produção.

Como obter esse pacote de atualização cumulativa para o Windows


A seguinte atualização está disponível no Centro de Download da Microsoft: Se a página de download não aparecer, contate o Serviço de Suporte e Atendimento ao Cliente Microsoft para obter o pacote de atualizações cumulativas.ObservaçãoDepois de futuras atualizações cumulativas lançadas para SQL Server 2017, este e todos os CUs anteriores podem ser localizadas e baixadas do Microsoft Update Catalog. No entanto, a Microsoft recomenda que você instale a atualização cumulativa mais recente disponível sempre.

Como obter esse pacote de atualizações cumulativas para Linux


Para atualizar o Linux para CU mais recente, você deve primeiramente ter a atualização cumulativa repositório configurado. Em seguida, atualize seus pacotes do SQL Server usando o comando de atualização específicos da plataforma apropriada.

Para obter instruções de instalação e links diretos para os downloads do pacote CU, consulte as notas de versão.

Correcções adicionais incluídos neste pacote de atualizações cumulativas


Número do bug VSTS Número do artigo KB Descrição Área fixa Plataforma
11701210 4089819 Tempo limite de trava na réplica secundário, Deadlock entre Readonly consulta Alta disponibilidade Windows
11701217 3147012 CORREÇÃO: Uso de pontos de verificação de disco grandes ocorre para um grupo de arquivos de memória otimizada durante cargas de trabalho pesadas de memória OLTP in-memory Windows
11701155 4038932 CORREÇÃO: Change Data Capture funcionalidade não funciona no SQL Server Integration Services Windows
11701174 4058747 CORREÇÃO: Erro ao atualizar o banco de dados do SSIS catálogo no SQL Server 2016 e 2017 Standard Edition Integration Services Windows
11751554 4100582 CORREÇÃO: O vazamento de dados confidenciais ocorre quando você ativar a função DDM no SQL Server 2017 Segurança SQL Todos
11806534 4100873 CORREÇÃO: Database Mail não pode se conectar ao SQL Server 2017 no Linux quando a porta TCP não padrão é usada Mecanismo SQL Linux
11797615 4100918 CORREÇÃO: SQL Server Agent não pode se conectar ao SQL Server 2017 em Docker quando a porta TCP não padrão é usada Integration Services Linux
11701200 4088901 CORREÇÃO: Falha de afirmação ao sys.dm_db_log_space_usage instrução é executada em um instantâneo de banco de dados no SQL Server 2016 e 2017 Alta disponibilidade Windows
11701181 4090486 CORREÇÃO: Gerenciado falha de Backup quando o banco de dados é renomeado com espaço em branco à direita no SQL Server 2016 e 2017 Ferramentas de gerenciamento Windows
11587927 4099335 Erro falsas relatórios quando você executar o cmdlet Test-SqlAvailabilityGroup no SQL Server Ferramentas de gerenciamento Windows
11701170 4058289 CORREÇÃO: A instrução ALTER procedimento com criptografia falha quando você criptografa um procedimento armazenado não publicados no SQL Server 2016 e 2017 Mecanismo SQL Windows
11701190 4078596 CORREÇÃO: Violações de acesso aleatórias ocorrem quando você executa o procedimento armazenado no SQL Server 2016 e 2017 de monitoramento Desempenho do SQL Windows
11701156 4089950 Atualizar para oferecer suporte a eliminação de partições em planos de consulta que têm índices espaciais no SQL Server 2016 e 2017 Desempenho do SQL Windows
11804747 4101323 CORREÇÃO: Erros ocorrem quando você atualizar para o SQL Server 2017 CU4 ou posterior e não habilitar o SQL Server Agent no Linux Mecanismo SQL Linux
11797978 4101554 CORREÇÃO: Paralela refazer uma réplica secundário de um grupo de disponibilidade que contém tabelas de heap gera um despejo de assert em tempo de execução ou o SQL Server falhar com um erro de violação de acesso Alta disponibilidade Windows
11701180 4074881 CORREÇÃO: Erro de asserção quando os dados são inseridos em massa em uma tabela que contém índices sem cluster e de cluster columnstore no SQL Server 2016 e 2017 Mecanismo SQL Windows
11751562 4096875 CORREÇÃO: Erro "Acesso negado" quando você tenta criar um banco de dados no SQL Server 2017 Express LocalDB Mecanismo SQL Windows
11797614 4099126 CORREÇÃO: Erro de "Violação de acesso" quando você executa uma consulta complexa com várias associações e o recurso Adaptive ingressar está habilitado no SQL Server Desempenho do SQL Windows
11684530 4099334 CORREÇÃO: O nome de usuário incorreto é exibido quando um usuário efetua login no MDS e acessa a área funcional de usuários e grupos no SQL Server 2017 Data Quality Services (DQS) Windows
11701169 4057615 CORREÇÃO: Erro de "Sintaxe incorreta próximo a palavra-chave 'KEY'" quando você adiciona uma tabela Oracle com coluna principal chamada 'KEY' no SQL Server 2016 e 2017 Integration Services Windows
11715371 4098763 CORREÇÃO: Script R Falha na execução paralela no SQL Server 2017 Mecanismo SQL Windows
11642085 4098732 CORREÇÃO: Um erro de cálculo ocorre quando uma medida de segurança é consultada no SSAS 2017 Analysis Services Windows
11701167 4090025 CORREÇÃO: Mascaramento aleatório não colocar máscara em valores BIGINT corretamente no SQL Server Segurança SQL Windows
11701162 4077708 CORREÇÃO: Assert em "HadrRefcountedObject::Release" quando você configura uma réplica para modo de propagação manual no SQL Server Alta disponibilidade Windows
11751257 4096258 CORREÇÃO: Uma exceção inesperada ocorre e SSAS falha quando você executa uma função específica de DAX no SQL Server 2017 Analysis Services Windows
11701157 4089324 CORREÇÃO: Erro 15665 quando você chamar sp_set_session_context repetidamente com o valor da chave nula no SQL Server 2016 Mecanismo SQL Windows
11807574 4101482 CORREÇÃO: A propagação automática falha quando você usar um grupo de disponibilidade sempre ativada no SQL Server Alta disponibilidade Todos
11701196 4083949 CORREÇÃO: SSAS pode falhar quando você executa uma consulta DAX usando-se um usuário não-administrador do Windows no SQL Server 2016 e 2017 Analysis Services Windows
11701201 4086136 CORREÇÃO: O SSAS para de responder quando você executa uma consulta MDX no SQL Server 2016 e 2017 Analysis Services (modelo Multidimensional) Analysis Services Windows
11701140 4086173 CORREÇÃO: Violação de acesso ocorre ao executar uma consulta DAX em um modelo de tabela no SQL Server 2014 e 2017 Analysis Services Analysis Services Windows
11701208 4089623 CORREÇÃO: Falta de memória ocorre e consulta falhar quando você executa a consulta MDX com opção não vazios no SSAS Analysis Services Windows
11706961 4090032 CORREÇÃO: Memória obtém esgotada ao executar o relatório de BI de energia que executa a consulta DAX no SSAS 2016 e modo Multidimensional 2017 Analysis Services Windows
11701179 4093226 CORREÇÃO: Erro "DirectQuery não pode ser usado com essa fonte de dados" quando você navega por um modelo de consulta direta no SQL Server Analysis Services Windows
11701215 4089276 Melhora o desempenho de consulta quando um filtro de bitmap otimizado é aplicado a um plano de consulta no SQL Server 2016 e 2017 Desempenho de SQL Todos
11701184 3192154 Uma opção de plano de consulta não ideal faz com que o desempenho ruim quando valores fora do intervalo representado nas estatísticas serão pesquisados em SQL Server 2016 e 2017 Desempenho de SQL Windows
11701193 4074862 CORREÇÃO: Erro inesperado ao criar um subcubo no SQL Server 2016 e 2017 Analysis Services (modelo Multidimensional) Analysis Services Windows
11719463 4131496 Aperfeiçoamento: Ativar mecanismo "forçados a liberação" no SQL Server 2017 no Linux Mecanismo SQL Todos
11697318   Corrige um problema no qual o banco de dados não pode ser desanexado ou descartado após seu armazenamento está desconectado e reconectado.    

Observações para esta atualização


Implementação em ambientes híbridos

Quando você implantar uma atualização em um ambiente híbrido (como AlwaysOn, replicação, cluster e espelhamento), recomendamos que você consulte os seguintes artigos antes de implantar a atualização:

Informações do pacote de atualização cumulativas


Pré-requisitos

Para aplicar esse pacote de atualizações cumulativas, você deve estar executando o SQL Server 2017.

Informações sobre reinicialização

Talvez seja necessário reiniciar o computador após aplicar esse pacote de atualizações cumulativas.

Informações do Registro

Para usar um dos hotfixes no pacote, não é necessário fazer nenhuma alteração no Registro.

Aviso de armazenamento de consulta


IMPORTANTE

Se você usar o recurso de Armazenamento de consulta e você já tiver instalado atualização cumulativa 2 (CU2) (14.0.3008.27), os seguintes requisitos se aplicam a você:

Após instalar atualização cumulativa 3 (CU3) (14.0.3015.40) ou uma UC posterior, imediatamente você deve executar o seguinte script para excluir todos os planos que foram coletados pelo armazenamento de consulta enquanto CU2 foi instalado:

SET NOCOUNT ON;DROP TABLE IF EXISTS #tmpUserDBs;SELECT [database_id], 0 AS [IsDone]INTO #tmpUserDBsFROM master.sys.databasesWHERE [database_id] > 4 AND [state] = 0 -- must be ONLINE AND is_read_only = 0 -- cannot be READ_ONLY AND [database_id] NOT IN (SELECT dr.database_id FROM sys.dm_hadr_database_replica_states dr -- Except all local Always On secondary replicas  INNER JOIN sys.dm_hadr_availability_replica_states rs ON dr.group_id = rs.group_id  INNER JOIN sys.databases d ON dr.database_id = d.database_id  WHERE rs.role = 2 -- Is Secondary   AND dr.is_local = 1   AND rs.is_local = 1)DECLARE @userDB sysname;WHILE (SELECT COUNT([database_id]) FROM #tmpUserDBs WHERE [IsDone] = 0) > 0BEGIN SELECT TOP 1 @userDB = DB_NAME([database_id]) FROM #tmpUserDBs WHERE [IsDone] = 0 -- PRINT 'Working on database ' + @userDB EXEC ('USE [' + @userDB + '];DECLARE @clearPlan bigint, @clearQry bigint;IF EXISTS (SELECT [actual_state] FROM sys.database_query_store_options WHERE [actual_state] IN (1,2))BEGIN IF EXISTS (SELECT plan_id FROM sys.query_store_plan WHERE engine_version = ''14.0.3008.27'') BEGIN  DROP TABLE IF EXISTS #tmpclearPlans;  SELECT plan_id, query_id, 0 AS [IsDone]  INTO #tmpclearPlans  FROM sys.query_store_plan WHERE engine_version = ''14.0.3008.27''  WHILE (SELECT COUNT(plan_id) FROM #tmpclearPlans WHERE [IsDone] = 0) > 0  BEGIN   SELECT TOP 1 @clearPlan = plan_id, @clearQry = query_id FROM #tmpclearPlans WHERE [IsDone] = 0   EXECUTE sys.sp_query_store_unforce_plan @clearQry, @clearPlan;   EXECUTE sys.sp_query_store_remove_plan @clearPlan;   UPDATE #tmpclearPlans   SET [IsDone] = 1   WHERE plan_id = @clearPlan AND query_id = @clearQry  END;  PRINT ''- Cleared possibly affected plans in database [' + @userDB + ']'' END ELSE BEGIN  PRINT ''- No affected plans in database [' + @userDB + ']'' ENDENDELSEBEGIN PRINT ''- Query Store not enabled in database [' + @userDB + ']''END')  UPDATE #tmpUserDBs  SET [IsDone] = 1  WHERE [database_id] = DB_ID(@userDB)END