11 de atualização cumulativa 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ções cumulativas 11 (CU11) 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 e atualiza o SQL Server e componentes para as seguintes versões do Analysis services:

Componente Versão da compilação Versão do arquivo
SQL Server 14.0.3038.14 2017.140.3038.14
Analysis Services 14.0.228.1 2017.140.228.1

 

Este artigo também fornece informações importantes sobre as seguintes situações:

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 Microsoft Download Center:

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ção: Depois de futuras atualizações cumulativas lançadas para SQL Server 2017, este e todos os CUs anteriores podem ser baixados a partir do Catálogo do Microsoft Update. No entanto, recomendamos que você sempre instale a atualização cumulativa mais recente que estiver disponível.

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
12245670 4340730 CORREÇÃO: Erro de declaração ocorre quando você adicionar um banco de dados para uma instância do SQL Server 2016 e 2017 Mecanismo SQL Windows
12200699 4456962 Aperfeiçoamento: Atualizar para adicionar informações de derramamento de líquidos de operadores em modo de lote para a seção "Avisos" do Showplan XML no SQL Server 2016 e 2017 Desempenho do SQL Todas
12313548 4458438 CORREÇÃO: O serviço SQL desliga após SP2 esteja instalado no SQL Server 2016 e 2017 com o modo de auditoria c2 ativado Segurança SQL Windows
12333342 4459576 Atualização permite que você defina a ordem de processamento das regras de negócios para o banco de dados Master Data Services no SQL Server Data Quality Services (DQS) Windows
12333468 4459575 CORREÇÃO: O erro ocorre quando você excluir um registro em uma entidade que tenha a permissão "Aprovação necessária" habilitada no SQL Server 2017 MDS Data Quality Services (DQS) Windows
12336241 4458316 CORREÇÃO: "Erro interno: Ocorreu um erro inesperado" quando você executa uma consulta MDX que foi gerada pelo Excel no SSAS Serviços de análise Windows
12099875 4459900 CORREÇÃO: Sincronização falha quando você parar de réplica principal e uma réplica de secundária para primário na escala de leitura AG no SQL Server 2017 failover Alta disponibilidade Windows
12200692 4458593 Atualização adiciona consulta leve dica no SQL Server 2016 de criação de perfil Desempenho do SQL Todas
12347661 4460203 CORREÇÃO: Pacemaker poderá finalizar os processos do agente de recurso quando o tempo limite da operação no grupo de disponibilidade do AlwaysOn do SQL Server 2017 Mecanismo SQL Linux
12305848 4461562 CORREÇÃO: Transações e truncamento de log podem estar bloqueados ao usar armazenamento de consulta no SQL Server 2017 Mecanismo SQL Windows
12180166 4294694 CORREÇÃO: Violação de acesso quando você tentar acessar uma tabela quando a compactação de página é ativada na tabela no SQL Server Mecanismo SQL Windows
12297184 4462699 CORREÇÃO: Hierarquias derivadas não funcionam em SQL Server 2017 MDS Add-in para o Excel Data Quality Services (DQS) Windows
12280645 4462767 CORREÇÃO: Um arquivo de despejo é gerado ao executar o DBCC CHECKDB em um banco de dados que possui tabelas com índice de cluster columnstore 2017 do SQL Server Mecanismo SQL Windows
12357208 4463314 Atualização melhora o desempenho do servidor SQL, restringindo que KDC pode ser contatado em redes grandes geograficamente Mecanismo SQL Linux
12279887 4467273 CORREÇÃO: Erro de plano inválida ocorre e consulta falhar quando você usar associação adaptável para executar uma consulta no SQL Server 2017 Desempenho do SQL Windows

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 sobre o pacote de atualizações cumulativas


Pré-requisitos

Para aplicar este 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 pacemaker


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 de atualização cumulativa que eles estão em.

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.

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