16 de actualização cumulativa para o SQL Server 2017

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

Nota Devido a uma alteração feita no SQL Server 2017 CU16, quaisquer backups compactados TDE de faixa única feitos no SQL Server 2017 CU7 por meio de CU12 não poderão ser restaurados no SQL Server 2017 CU16. Downgrade ao UC precedente a fim restaurar estas cópias de segurança. Esse problema será corrigido em uma futura UC.

Este artigo descreve o pacote de actualização cumulativa 16 (CU16) para o SQL Server 2017. Esta atualização contém correções lançadas após a versão inicial do sql Server 2017 e atualiza os componentes do SQL Server e do Analysis Services para as seguintes compilações:

Componente Versão do produto Versão do arquivo
SQL Server 14.0.3223.3 2017.140.3223.3
Analysis Services 14.0.249.14 2017.140.249.14

 

Avisos importantes

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

  • Pacemaker: Uma alteração comportamental é feita em distribuições que usam a versão mais recente disponível do pacemaker. Métodos Mitigations são fornecidos.
  • Repositório de consultas: Você deve executar esse script se você usar o repositório de consultas e tiver instalado anteriormente o SQL Server 2017 atualização cumulativa 2 (Cu2).
  • Versão de compilação do Analysis Services UC: A partir do SQL Server 2017, o número de versão de compilação do Analysis Services e o número de versão de compilação do SQL Server Database Engine não correspondem. Para obter mais informações, consulte verificar a versão de compilação de atualização cumulativa do Analysis Services.

Atualizações cumulativas

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.

Os pacotes de UC 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 pró-ativa de CUs à medida que elas 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 este pacote de actualizaçã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 suporte e atendimento ao cliente da Microsoft para obter o pacote de atualização cumulativa.Notas

  • Após futuras atualizações cumulativas são lançadas para o SQL Server 2017, isso e todos os CUs anteriores podem ser baixados do catálogo do Microsoft Update. No entanto, recomendamos que você sempre instale a atualização cumulativa mais recente que está disponível.

Como obter este pacote de actualização cumulativa para Linux


Para atualizar o Linux para a UC mais recente, você deve primeiro ter o repositório de atualizações cumulativas configurado. Em seguida, atualize os pacotes do SQL Server usando o comando de atualização específico da plataforma apropriado.

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

Correcções adicionais incluídas neste pacote de actualização cumulativa


Número do bug VSTS Número do artigo KB Descrição Área fixa Plataforma
12119927 4338773 CORRECÇÃO: erros de deadlock quando você executa um pacote do SSIS em paralelo no SQL Server Integration Services Windows
13051092 4459709 CORREÇÃO: o desempenho ruim ocorre quando você executa uma consulta contra columnstore em um banco de dados habilitado para RCSI no SQL Server 2016 e 2017 Mecanismo SQL Windows
12822164 4489150 CORRECÇÃO: índice filtrado pode estar corrompido quando você reconstruir o índice em paralelo no SQL Server 2014 e 2016 Desempenho do SQL Todas
12947197 4491560 CORRECÇÃO: violação de acesso ocorre quando consulta sys. dm _ hadr_availability_replica_states no SQL Server 2016 e 2017 Alta disponibilidade Windows
12757005 4493364 CORRECÇÃO: erro ocorre quando você fazer backup de uma máquina virtual com não-componente com base em cópia de segurança no SQL Server 2016 e 2017 Mecanismo SQL Windows
12947201 4494225 CORRECÇÃO: violação de acesso ocorre quando executa uma consulta contra sys. availability_replicas no SQL Server 2016 e 2017 Alta disponibilidade Windows
12947202 4494805 CORRECÇÃO: Adicionar nova publicação pode falhar se o banco de dados de distribuição está no AG e agrupamento é definido como BIN no SQL Server 2016 e 2017 Mecanismo SQL Windows
12947204 4497222 CORRECÇÃO: base de dados poderá falhar quando vários threads actualizar permissões na mesma base de dados no SQL Server 2016 e 2017 Analysis Services Windows
12947198 4497928 CORRECÇÃO: pontos de verificação indiretos no banco de dados tempdb causam erro "não respondendo Agendador" no SQL Server 2016 e 2017 Mecanismo SQL Todos
12887076 4501542 CORRECÇÃO: o comando de actualização deixa de responder ocasionalmente devido a impasse de thread no SSAS 2017 modo tabular Analysis Services Windows
12947206 4502400 CORRECÇÃO: SQL Server 2014 e 2016 não executam as atribuições de pré-linha solicitadas quando você usa a instrução MERGE que executa atribuições de variáveis locais para cada linha Desempenho do SQL Todas
12947196 4502428 CORREÇÃO: erro de asserção ocorre quando você executa uma consulta para acessar sys. dm _ db_xtp_checkpoint_files no SQL Server 2016 e 2017 OLTP in-memory Windows
12949744 4506023 CORRECÇÃO: referencial geocêntrico da Austrália 2020 é adicionado ao SQL Server 2014 Mecanismo SQL Todos
12965328 4508065 CORRECÇÃO: início de sessão para o SQL Server 2017 no Linux demora mais tempo com a autenticação de SQL que o SQL Server 2017 no Windows Segurança SQL Linux
13010512 4508472 CORRECÇÃO: erro de "linha não encontrada" intermitente no Azure SQL DB subscritor causado pela duplicação de instruções BEGIN TRAN Mecanismo SQL Windows
12991748 4508621 CORRECÇÃO: o processamento de dados é muito mais lento no SSAS 2016 SP2 e 2017 do que no SSAS 2016 SP1 Analysis Services Windows
12960368 4508623 CORRECÇÃO: "sys. fn_hadr_backup_is_preferred_replica (base de dados)" consulta falha para o tipo WSFC no SQL Server 2017 Alta disponibilidade Windows
13002397 4509084 CORRECÇÃO: índice inesperado será excluído quando você excluir atributo incluindo índice no SQL Server 2017 Data Quality Services (DQS) Windows
13017918 4510934 CORRECÇÃO: o uso não transacional prolongado de FileTable sem reinicialização de instância pode causar falha no Agendador de não-produzindo erro ou servidor no SQL Server 2014 Mecanismo SQL Windows
12883479 4511593 CORRECÇÃO: DBCC SHOW_STATISTICS verificação de permissão falha com um erro de AV no SQL Server 2016 e 2017 Desempenho do SQL Windows
12912593 4511715 CORRECÇÃO: registo de transacções preenchidas provoca interrupções quando executa o repositório de consultas no SQL Server 2016 e 2017 Mecanismo SQL Windows
12969979 4511885 CORRECÇÃO: o estado de resolução ocorre quando ocorre uma asserção no SQL Server 2017 OLTP in-memory Windows
13045214 4512016 CORRECÇÃO: syscommittab limpeza provoca um escalonamento de bloqueio que irá bloquear a liberação syscommittab no SQL Server 2014 Mecanismo SQL Windows
12965938 4512026 CORREÇÃO: violação de acesso ocorre quando você insere dados LOB no índice Columnstore clusterizado no SQL Server 2017 Mecanismo SQL Todos
12963180 4512130 CORRECÇÃO: mascaramento de dados não pode ser aplicado quando você usa a função PIVOT ou UNPIVOT na coluna mascarada no SQL Server 2016 e 2017 Segurança SQL Windows
13019220 4512150 CORRECÇÃO: sql_statement_post_compile de evento expandido não preenche o campo de domínio no SQL Server 2017 Mecanismo SQL Windows
12942301 4512151 CORRECÇÃO: violação de acesso ocorre quando utiliza a função de registo com uma consulta remota no SQL Server 2016 ou 2017 Mecanismo SQL Todos
12870479 4512210 CORRECÇÃO: SQL Server 2017 no Linux falha com erro de excepção de última oportunidade Mecanismo SQL Linux
13017382 4512603 CORRECÇÃO: SSAS 2017 falha intermitentemente devido ao erro de violação de acesso c0000005 Analysis Services Windows
13042973 4512820 Aperfeiçoamento: o coordenador de transações distribuídas da Microsoft está habilitado no Linux no SQL Server 2017 Mecanismo do SQL Linux
13042881 4512956 CORRECÇÃO: consultar sys. Tables devolve tabelas temporárias criadas por utilizadores simultâneos a partir do SQL Server 2012 Mecanismo SQL Windows
12352573 4512979 CORRECÇÃO: SQL Server 2017 no Linux falha no modo de actualização de script para a base de dados SSISDB depois de aplicar CU9 Mecanismo SQL Linux
12283135 4513095 CORRECÇÃO: violação de acesso ocorre quando inicia o serviço de texto completo no Linux no SQL Server 2017 Mecanismo SQL Linux
13049894 4513096 CORRECÇÃO: falha de reparo para componentes de aprendizado de máquina no servidor sem acesso à Internet Instalação & instalar Windows
12978596 4513097 CORRECÇÃO: restaurar ou restaurar VERIFYONLY de uma cópia de segurança comprimida TDE falha no SQL Server 2016 e 2017 Mecanismo SQL Windows
12905640 4513235 CORRECÇÃO: o banco de dados está inacessível quando você atualiza o nível de compatibilidade de modelo tabular de 1103 para 1400 no SQL Server 2017 Analysis Services Windows
12827636 4513236 CORRECÇÃO: bloqueio de thread interno pode ocorrer na réplica primária ou secundária do grupo de disponibilidade no SQL Server 2016 SP2 e 2017 Alta disponibilidade Windows
12996125 4513237 CORREÇÃO: a réplica secundária assíncrona recebe logs da réplica primária no SQL Server 2017 no Linux, mas não endurece ou refaz Alta disponibilidade Todos
12680777 4514829 CORREÇÃO: falhas intermitentes ao fazer backup no armazenamento do Azure do SQL Server 2017 Mecanismo SQL Windows

Observações para esta atualização


Implementação em ambientes híbridos

Quando você implanta 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.

Aviso de pacemaker


IMPORTANTE

Todas as distribuições (incluindo RHEL 7,3 e 7,4) que usam o mais recente pacote de pacemaker disponível 1.1.18-11. EL7 introduzir uma alteração de comportamento para a configuração de cluster de início-falha-é-fatal quando seu valor é false. Essa alteração afeta o fluxo de trabalho de failover. Se uma réplica primária tiver uma interrupção, o cluster deverá fazer failover para uma das réplicas secundárias disponíveis. Em vez disso, os usuários observarão que o cluster continua tentando iniciar a réplica primária com falha. Se esse primário nunca vem online (devido a uma interrupção permanente), o cluster nunca falha sobre a outra réplica secundária disponível.

Esse problema afeta todas as versões do SQL Server, independentemente da versão c: precipitação acumulada update que eles estão em.

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

Método 1

Execute as seguintes etapas:

  1. Remova a substituição de início-falha-é-fatal 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 cluster-recheck-Interval .
       # RHEL, Ubuntu         pcs property set cluster-recheck-interval=<Xmin>   # SLES         crm configure property cluster-recheck-interval=<Xmin>
  3. Adicione a propriedade de meta Failure-Timeout a 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
     

    Nota Nesse código, substitua o valor para < xmin > conforme apropriado. Se uma réplica for pressionada, o cluster tentará reiniciar a réplica em um intervalo vinculado pelo valor de tempo limite de falha e pelo valor do intervalo de reverificação de cluster . Por exemplo, se Failure-Timeout estiver definido como 60 segundos e o cluster-recheck-Interval estiver definido como 120 segundos, a reinicialização será tentada em um intervalo maior que 60 segundos, mas menos de 120 segundos. Recomendamos que você defina Failure-Timeout como 60s e cluster-recheck-Interval para um valor maior que 60 segundos. A definição de cluster-recheck-Interval para um valor pequeno não é recomendada. Para obter mais informações, consulte a documentação do pacemaker ou consulte o provedor do sistema.

Método 2

Reverter para o pacemaker versão 1.1.16.

    Aviso do repositório de consultas


    IMPORTANTE

    Se você usar o recurso de armazenamento de consulta e tiver instalado anteriormente atualização cumulativa 2 (Cu2) (14.0.3008.27), o seguinte requisito se aplica a você:

    Depois de instalar a atualização cumulativa 3 (Cu3) (14.0.3015.40) ou uma UC posterior, você deve executar imediatamente o seguinte script para excluir todos os planos que foram coletados pelo repositório de consultas 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