Atualização cumulativa 15 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 15 (CU15) para SQL Server 2017. Esta atualização contém correções que foram 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 versões:

Componente Versão de compilação Versão do arquivo
SQL Server 14.0.3162.1 2017.140.3162.1
Analysis Services 14.0.249.3 2017.140.249.3

 

Avisos importantes

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

  • Pacemaker:Uma alteração de comportamento é feita em distribuições que usam a versão mais recente disponível do pacemaker. Os métodos de mitigação são fornecidos.
  • Repositório de consultas: Você deve executar esse script se usar o repositório de consultas e tiver instalado anteriormente a atualização cumulativa 2 (Cu2) do SQL Server 2017.
  • Backups de réplica de preferência grupo de disponibilidade: Ocorrerá um erro se você usar Sys. fn_hadr_backup_is_preferred_replica para determinar a réplica de grupo de disponibilidade preferencial para trabalhos de backup. 
  • O Analysis Services RECOR versão de compilação: 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 mecanismo de banco de dados do SQL Server não correspondem. Para obter mais informações, consulte verificar a versão de compilação da 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.

A RECOR de que os 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 proativa contínua do CUs à medida que se torna disponível 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 atualizações cumulativas para Windows


A atualização a seguir 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ções

  • Após o lançamento de atualizações cumulativas futuras do 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 atualização cumulativa para Linux


Para atualizar o Linux para a versão mais recente da RECOR, primeiro você deve ter o repositório de atualizações cumulativas configurado. Em seguida, atualize seus 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 da RECOR, consulte as notas de versão.

Hotfixes adicionais incluídos neste pacote de atualização cumulativa


Número do bug VSTS Número do artigo KB Descrição Área fixa Plataforma
12750851 4480652 CORRECção: o serviço de gravador do SQL pode causar deadlocks não detectados no sistema DMV ao fazer um backup do VSS Mecanismo SQL Windows
12819465 4488853 CORREÇÃO: ' MSrepl_agent_jobs ' não existe quando você executa o sp_addpullsubscription_agent para criar uma assinatura pull no SQL Server 2016 e no 2017 Mecanismo SQL Windows
12819467 4489202 CORRECção: o erro 10314 ocorre quando você carrega assembly CLR .NET no banco de dados do SQL Server 2016 e 2017 Mecanismo SQL Windows
12674647 4490136 CORRECção: o erro de asserção ocorre quando você usa sys. dm_exec_query_statistics_xml no SQL Server 2016 e 2017 Desempenho do SQL Windows
12819460 4490141 Melhoria: o DMV sys. dm_hadr_cluster relata o tipo de quorum de testemunha na nuvem "4" e quorum_type_desc "UNKNOWN_QUORUM" no SQL Server 2016 e 2017 Alta disponibilidade Windows
12723965 4490237 CORRECção: restaurar o backup no SQL Server 2016 e 2017 do SQL Server 2008 ou 2008 R2 leva muito tempo Mecanismo SQL Windows
12700741 4490478 CORRECção: a autenticação do AD falha ao se conectar ao SQL Server 2017 Mecanismo SQL Linux
12640919 4492604 CORREÇÃO: o failover manual entre encaminhador e réplica secundária falha com todas as réplicas sincronizadas no SQL Server 2016 e 2017 Alta disponibilidade Windows
12819475 4492880 CORREÇÃO: as declarações de propagação automática ocorrem quando bancos de dados são removidos da AG no SQL Server 2016 e 2017 Alta disponibilidade Windows
12819479 4492899 CORREÇÃO: o diretório de nível de banco de dados Filetable é inacessível após a inicialização do banco de dados no SQL Server 2016 e 2017 Mecanismo SQL Windows
12644521 4493329 CORRECção: o erro ocorre quando sp_addarticle é usado para adicionar um artigo à replicação transacional para a tabela com otimização de memória no Assinante no SQL Server 2016 e 2017 Mecanismo SQL Windows
12819478 4493363 CORRECção: uma consulta especialmente criada executada por um usuário com privilégios Baixos poderá expor os dados mascarados no SQL Server 2016 e 2017 Segurança SQL Windows
12931699 4493364 CORRECção: o erro ocorre ao fazer backup de uma máquina virtual com backup baseado em não componentes no SQL Server 2016 e 2017 Mecanismo SQL Windows
12794414 4494650 CORRECção: a violação de acesso ocorre quando você executa uma consulta em modo de lote com a instrução UNION no SQL Server 2017 Desempenho do SQL Windows
12804071 4495683 CORREÇÃO: o atributo de pesquisa não funciona quando o formato de exibição está definido como "nome {código}" no SQL Server 2017 Data Quality Services (DQS) Windows
12840763 4497225 CORRECção: o Query para a tabela com o índice columnstore clusterizado e o índice de repositório de não clusterizado pode retornar resultados incorretos no SQL Server 2016 e 2017 Mecanismo SQL Todos
12865861 4497230 CORREÇÃO: falha ao ingressar na réplica secundária se o banco de dados tiver um grupo de arquivos extinto no SQL Server 2014, 2016 e 2017 Alta disponibilidade Windows
12840765 4497701 CORREÇÃO: a aplicação de filtro Columnstore pode retornar resultados errados quando há um estouro nas expressões de filtro no SQL Server 2014, 2016 e 2017 Mecanismo SQL Todos
12831695 4498720 CORREÇÃO: o dump principal falhou ao gerar em m_numLocks. Load () = = 0 erro no SQL Server 2017 Mecanismo SQL Linux
12844344 4498924 CORRECção: o plano de fundo cinza para atributos somente leitura desaparece após a atualização no suplemento do Excel para MDS no SQL Server 2017 Data Quality Services (DQS) Windows
12865874 4499231 CORREÇÃO: o agente de leitor de log pode falhar após o failover AG com o TF 1448 habilitado no SQL Server 2014, 2016 e 2017 Mecanismo SQL Windows
12670267 4499423 CORREÇÃO: os relatórios do SSIS e do Power BI falham com erros de tempo limite de conexão no SQL Server 2017 Mecanismo SQL Linux
12821584 4499614 CORRECção: a violação de acesso ocorre devido à corrupção do arquivo Showplan. xml compactado no SQL Server 2017 Desempenho do SQL Windows
12819474 4500327 CORRECção: o problema do Agendador sem concessão ocorre quando você executa consultas no modo em lotes que são despejadas no SQL Server 2016 e 2017 Desempenho do SQL Windows
12686636 4500511 Melhoria: melhorar a capacidade de suporte e a usabilidade do CDC com bancos de dados na memória Mecanismo SQL Todos
12870721 4500574 CORRECção: o autodeadlock ocorre quando a auditoria de transações está habilitada no SQL Server 2017 Segurança SQL Todos
12710985 4500595 CORRECção: a visualização da fonte CDC falha com o erro "a chave fornecida não estava presente no dicionário" no SQL Server 2017 Integration Services Windows
12789617 4500783 CORREÇÃO: a execução intercalada no MSTVFs usando tabelas com otimização de memória causa uma exceção de ponto flutuante no SQL Server 2017 OLTP in-memory Todas
12886436 4501670 CORREÇÃO: a CPU e o tempo decorrido reportados por query_plan_profile e query_post_execuion_plan_profile xEvents não são precisos no SQL Server 2017 Desempenho do SQL Todos
12877988 4501797 CORREÇÃO: a movimentação de dados para o encaminhador DAG não é retomada automaticamente após o tempo limite de conexão no SQL Server 2016 e 2017 Alta disponibilidade Windows
12799964 4502376 CORREÇÃO: violação de acesso ocorre em SQLMIN! AGHealthCompStateActual:: GetData no SQL Server 2017 Alta disponibilidade Linux
12745415 4502380 CORRECção: o SQL Server 2017 falha devido ao estouro de pilha quando você tenta fazer backup do banco de dados mestre em disco Mecanismo SQL Windows
12805642 4502400 CORRECção: o SQL Server 2016 e o 2017 não executam as atribuições de previamente linhas solicitadas quando você usa a instrução MERGE que executa atribuições de variáveis locais para cada linha Desempenho do SQL Todas
12816127 4502427 CORRECção: a violação de acesso ocorre quando você executa a função sys. fn_dump_dblog no SQL Server 2016 e no 2017 Mecanismo SQL Windows
12768690 4502532 CORRECção: o Query demora muito se você habilitar o modo de junção adaptável do modo em lotes no SQL Server 2017 Desempenho do SQL Windows
12756913 4502658 CORREÇÃO: "nenhuma credencial válida fornecida" ocorre depois que você reinicia o polybase no SQL Server 2017 Mecanismo SQL Windows
12820675 4502659 CORREÇÃO: as consultas polybase que direcionam arquivos parquet ou ORC no HDP 3,0 ou posterior falharão com o cálculo de aplicação habilitado Mecanismo SQL Windows
12798181 4502706 CORRECção: o SQL Server gera um dump central com "falha ao monitorar sinais externos" no SQL Server 2017 Mecanismo SQL Todos
12819466 4503379 CORRECção: as restrições de integridade referencial não são avaliadas corretamente quando o plano de execução de consulta usa o operador de verificação de referência de chave estrangeira no SQL Server 2016 e 2017 Desempenho do SQL Windows
12823369 4503385 CORREÇÃO: a consulta DAX requer mais de 200 vezes da memória do que o tamanho do banco de dados no banco de dados de modelo multidimensional do SQL Server 2017 Analysis Services Windows
12745584 4503386 CORRECção: a exceção ocorre quando você cria uma consulta DAX parametrizada no designer de consultas do construtor de relatórios no SSRS Analysis Services Windows
12921007 4503417 CORREÇÃO: o despejo de declaração ocorre quando você seleciona um modo de exibição em um servidor vinculado no SQL Server 2017 Desempenho do SQL Windows
12812315 4505726 CORRECção: o mascaramento de dados dinâmicos não funciona como esperado no SQL Server 2017 Segurança SQL Windows
12892302 4505820 CORRECção: a função SQLCLR leva mais tempo para executar a consulta em RECOR 14 do que a versão RTM do SQL Server 2017 Desempenho do SQL Windows

Observações para esta atualização


Implementação em ambientes híbridos

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

Aviso de pacemaker


IMPORTANTE

Todas as distribuições (incluindo RHEL 7,3 e 7,4) que usam o pacote pacemaker disponível mais recente 1.1.18 -11. EL7 introduzem uma alteração de comportamento para a configuração de cluster Start-Failure-is-fatal cluster quando o valor é false. Essa alteração afeta o fluxo de trabalho de failover. Se uma réplica primária sofrer uma interrupção, espera-se que o cluster desfailover para uma das réplicas secundárias disponíveis. Em vez disso, os usuários notarão que o cluster continua tentando iniciar a réplica primária com falha. Se esse principal nunca ficar online (devido a uma falha permanente), o cluster nunca falhará em outra réplica secundária disponível.

Esse problema afeta todas as versões do SQL Server, independentemente da versão cumulative upara atualizar em que elas estão.

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

Método 1

Execute as seguintes etapas:

  1. Remova o início-falha-é a substituição 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 do intervalo de 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 meta de tempo limite de falha 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
     

    Observação Nesse código, substitua o valor de <xmin> conforme apropriado. Se uma réplica ficar inativa, o cluster tentará reiniciar a réplica em um intervalo que seja associado ao valor de tempo limite de falha e ao valor do intervalo de verificação do cluster . Por exemplo, se o tempo limite de falha for definido como 60 segundos e o intervalo de verificação de cluster for definido como 120 segundos, a reinicialização será tentada em um intervalo maior do que 60 segundos, mas menor que 120 segundos. Recomendamos que você defina a falha-tempo limite para 60s e o intervalo de verificação de cluster para um valor maior do que 60 segundos. Não é recomendável definir o intervalo de verificação de clusters para um valor pequeno. Para obter mais informações, consulte a documentação do pacemaker ou consulte o provedor do sistema.

Método 2

Reverta para a versão pacemaker do 1.1.16.

    Aviso do repositório de consultas


    IMPORTANTE

    Você deve executar esse script se usar o repositório de consultas e estiver atualizando a atualização cumulativa 2 (Cu2) do sql Server 2017 diretamente para sql Server 2017 cumulativa Update 3 (Cu3) ou qualquer atualização cumulativa mais recente. A execução desse script não será necessária se você tiver instalado anteriormente a atualização cumulativa 3 (Cu3) do SQL Server 2017 ou qualquer atualização cumulativa mais recente do SQL Server 2017.

     

    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

    Backups de réplica preferenciais em grupo de disponibilidade


    IMPORTANTE

    Considere o seguinte cenário:

    • Você está executando um grupo de disponibilidade em um cluster de failover do Windows Server.
    • Você está usando a função Sys. fn_hadr_backup_is_preferred_replica em suas tarefas de backup para determinar se um backup deve ser executado na réplica atual.

    Nesse cenário, a chamada de função falha e gera a seguinte mensagem de erro: 

    Esse problema não afeta o próprio backup. Portanto, você pode solucionar esse problema removendo a chamada para Sys. fn_hadr_backup_is_preferred_replica.

    Se precisar fazer backup apenas na réplica preferida, recomendamos que você não aplique a atualização cumulativa 15. Esse problema será corrigido em uma versão futura.