12 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 12 (CU12) 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.3045.24 2017.140.3045.24
Analysis Services 14.0.230.1 2017.140.230.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
12229849 4345524 CORREÇÃO: Criação e atualização não funcionam em uma entidade quando você define a leitura e a permissão Create no MDS 2017 Data Quality Services (DQS) Windows
12352667 4462426 CORREÇÃO: O erro ocorre quando você alterar o "valor de exibição" do atributo "Name" de uma entidade para qualquer valor diferente de "Nome" no SQL Server 2017 MDS suplemento para o Excel

Data Quality Services (DQS)

Windows
12321033 4462481 CORREÇÃO: A operação de consulta congela quando você insere dados em um índice em cluster columnstore em paralelo no SQL Server data warehouse Desempenho do SQL Windows
12342954 4463757 CORREÇÃO: Erro de "Criptografia não tem suportada no cliente" quando uma consulta de servidor vinculado do SQL Server 2017 falhar Conectividade do SQL Windows
12296279 4465204 CORREÇÃO: Um deadlock intraconsulta ocorre em uma consulta contendo UNION ALL no modo em lote do SQL Server Desempenho do SQL Windows
12359904 4465236 CORREÇÃO: Violação de acesso ocorre em código de compilação quando você analisa o plano forçado no SQL Server 2017 Mecanismo SQL Windows
12392563 4465248 CORREÇÃO: "Ocorreu uma exceção inesperada" em uma consulta MDX para dimensões de PC no SSAS 2017 Serviços de análise Windows
12363625 4465247 CORREÇÃO: Deadlock ocorre no SSAS 2017 quando você executa uma consulta DAX com cálculo de inteligência de tempo em paralelo Serviços de análise Windows
12362293 4459220 CORREÇÃO: Resultados incorretos ocorrem quando você converter o parâmetro "pollinginterval" de segundos horas no sys.sp_cdc_scan no SQL Server 2014 e 2016 Mecanismo SQL Windows
11967433 4465745 CORREÇÃO: Erro de declaração ocorre quando você executa uma instrução MERGE com uma cláusula OUTPUT no SQL Server 2017 Mecanismo SQL Windows
12409366 4465832 CORREÇÃO: Reconstrução de um índice com a reconstrução de índice Online retomável pode resultar em um índice fragmentado em 2017 do SQL Server Mecanismo SQL Windows
12366825 4466108 CORRECÇÃO: Fazendo backup de um banco de dados do SQL Server 2008 usando um aplicativo de backup VSS poderá falhar depois de instalar o CU10 para 2017 do SQL Server Mecanismo SQL Windows
12428685 4466962 CORREÇÃO: SQL Server 2017 falha inesperadamente quando você usa o Active Directory fornecedores Mecanismo SQL Linux
12403785 4467074 Atualização desativa 2467 do sinalizador de rastreamento em nível de sessão para evitar um problema de desempenho de consultas em paralelo no SQL Server 2017 Desempenho do SQL Todas
12357735 4468103 CORREÇÃO: Violação de acesso ocorre no agente de distribuição no SQL Server 2017 Mecanismo SQL Windows
12342904 4468102 CORREÇÃO: Uso de memória excessiva quando você rastrear eventos RPC que envolvem parâmetros de Table-Valued no SQL Server 2017 Mecanismo SQL Todos
12186149 4468101 Aperfeiçoamento: Substituição opcional para "cadeia de caracteres ou dados binários estaria truncados" mensagem com informações estendidas no SQL Server 2017 Mecanismo SQL Todos
12342475 4469140 CORREÇÃO: "não foi possível encontrar o servidor" quando o nome do banco de dados editor contém um ponto no SQL Server 2017 Mecanismo SQL Todos

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 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.

Mais informações sobre o pacote CU


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