KB5013756 - Mise à jour cumulative 30 pour SQL Server 2017
Date de publication:
13/07/2022
Version:
14.0.3451.2
Résumé
Cet article décrit le package de mise à jour cumulative 30 (CU30) pour Microsoft SQL Server 2017. Cette mise à jour contient 8 correctifs émis après la publication de SQL Server mise à jour cumulative 29 2017, et met à jour les composants vers les builds suivantes :
-
SQL Server - Version du produit : 14.0.3451.2, version du fichier : 2017.140.3451.2
-
Analysis Services - Version du produit : 14.0.249.90, version du fichier : 2017.140.249.90
Problèmes connus dans cette mise à jour
Après avoir appliqué SQL Server 2017 CU30, vous pouvez rencontrer une violation d’accès lors de l’exécution d’une opération d’insertion en bloc suivie d’une instruction select dans la même transaction. Cela ne peut se produire que lorsque le mode de récupération de la base de données est simple ou journalisé en bloc.
Pour atténuer ce problème, vous pouvez désinstaller CU30 ou appliquer une solution de contournement temporaire en activant l’indicateur de trace 805. L’indicateur de trace rétablit les modifications introduites par le biais du numéro de correctif 14669410 dans CU30.
Ce problème sera résolu dans une prochaine mise à jour cumulative.
Améliorations et correctifs inclus dans cette mise à jour cumulative
Un classeur Excel téléchargeable qui contient une liste récapitulative des builds, ainsi que leur cycle de vie de support actuel, est disponible. Le fichier Excel contient également des listes de correctifs détaillées pour SQL Server 2019 et SQL Server 2017. Téléchargez ce fichier Excel maintenant.
Remarque : Les entrées individuelles du tableau suivant peuvent être référencées directement par le biais d’un signet. Si vous sélectionnez un ID de référence de bogue dans le tableau, vous remarquerez qu’une balise de signet est ajoutée à l’URL en utilisant le format suivant : #bkmk_NNNNNNNN. Vous pouvez ensuite partager cette URL avec d’autres personnes afin qu’elles puissent accéder directement au correctif souhaité dans la table.
Informations de référence sur les bogues |
Numéro d’article de la Base de connaissances |
Description |
Domaine du correctif |
Platform |
||
---|---|---|---|---|---|---|
Un délai d’attente de verrou se produit et l’écouteur IOCP se bloque lorsque Service Broker se connecte à un point de terminaison à l’aide de la mise en miroir de bases de données. Remarque Ce correctif est disponible lorsque TF 12323 est activé. |
Disponibilité élevée |
Windows |
||||
5014047 |
Moteur SQL |
Windows |
||||
Une violation d’accès se produit lorsque vous essayez de tronquer des partitions spécifiques d’une table à l’aide de la fonction $Partition si le nom de la fonction ou le nom de la table n’existe pas. |
Moteur SQL |
Windows |
||||
La suppression des tables temporaires entraîne un blocage non résolu et un fichier de vidage dans certains cas rares. |
Moteur SQL |
Windows |
||||
Ce correctif résout les problèmes suivants :
|
Moteur SQL |
Tous |
||||
L’erreur 2706 se produit lorsque vous exécutez DBCC CHECKDB WITH EXTENDED_LOGICAL_CHECKS sur une base de données à l’aide de la fonction Table-Valued (TVF) qui utilise des index. Voici le message d’erreur : La table '%.*ls' n’existe pas. |
Performances SQL |
Windows |
||||
Dans Microsoft SQL Server 2017, l’exécution de requêtes paramétrables ignore la règle SelOnSeqPrj. Par conséquent, le pushdown ne se produit pas. |
Performances SQL |
Toutes |
||||
Dans Microsoft SQL Server 2017, la création d’un index sur une colonne calculée persistante et une fonction de partition échoue. En outre, l’erreur 8624 suivante se produit : Erreur interne du processeur de requêtes : le processeur de requêtes n’a pas pu produire de plan de requête. Pour plus d’informations, contactez le service de support technique. |
Performances SQL |
Windows |
Comment obtenir ou télécharger ce ou le dernier package de mise à jour cumulative
La mise à jour suivante est disponible dans le Centre de téléchargement Microsoft :
Télécharger le dernier package de mise à jour cumulative pour SQL Server 2017 maintenant
Si la page de téléchargement ne s’affiche pas, procurez-vous le package de mise à jour cumulative auprès du Support technique et du Service clientèle Microsoft.
Remarque : Une fois les mises à jour cumulatives ultérieures publiées pour SQL Server 2017, cette mise à jour et toutes les précédentes peuvent être téléchargées à partir du catalogue de mises à jour Microsoft. Toutefois, nous vous recommandons de toujours installer la dernière mise à jour cumulative disponible.
La mise à jour suivante est disponible à partir du catalogue de mises à jour Microsoft :
Télécharger le package de mise à jour cumulative pour SQL Server 2017 CU 30 maintenant
Pour mettre à jour Linux vers la dernière mise à jour cumulative, vous devez d’abord disposer du référentiel de mise à jour cumulative configuré. Ensuite, mettez à jour vos packages SQL Server à l’aide de la commande de mise à jour appropriée spécifique à la plateforme.
Pour obtenir des instructions d’installation et des liens directs vers les téléchargements de package CU, consultez les notes de publication.
Informations sur les fichiers
Vous pouvez vérifier le téléchargement en calculant le hachage du fichier SQLServer2017-KB5013756-x64.exe en exécutant la commande suivante :
certutil -hashfile SQLServer2017-KB5013756-x64.exe SHA256
Nom du fichier |
Hachage SHA-256 |
---|---|
SQLServer2017-KB5013756-x64.exe |
D21D0E68F9784CA1E479F43D69A591CEA51C1BDD90D593D7C36D17BFF614B4FA |
La version anglaise de ce package dispose des attributs de fichier répertoriés dans le tableau suivant ou ceux d’une version ultérieure. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations des fichiers, les données sont converties en heure locale. Pour connaître le décalage entre l’heure UTC et l’heure locale, utilisez l’onglet Fuseau horaire dans l’élément Date et heure du Panneau de configuration.
Versions x64 SQL Server 2017 Analysis Services
SQL Server 2017 Database Services Common Core
SQL Server Data Quality Client 2017
qualité des données SQL Server 2017
SQL Server sql_dreplay_client 2017
sql_dreplay_controller du SQL Server 2017
instance principale des services de base de données SQL Server 2017
SQL Server 2017 Database Services Core Shared
SQL Server sql_extensibility 2017
moteur Full-Text SQL Server 2017
SQL Server sql_inst_mr 2017
SQL Server 2017 Integration Services
sql_polybase_core_inst SQL Server 2017
SQL Server sql_shared_mr 2017
SQL Server sql_tools_extensions 2017
|
Remarques concernant cette mise à jour
Pour appliquer ce package de mise à jour cumulative, vous devez exécuter SQL Server 2017.
Vous devrez peut-être redémarrer l’ordinateur après avoir appliqué ce package de mise à jour cumulative.
Pour utiliser l’un des correctifs logiciels contenus dans ce package, il n’est pas nécessaire de modifier le Registre.
Cet article fournit également des informations importantes sur les situations suivantes :
-
Pacemaker : un changement de comportement est apporté dans les distributions qui utilisent la dernière version disponible de Pacemaker. Des méthodes d’atténuation sont fournies.
-
Magasin des requêtes : vous devez exécuter ce script si vous utilisez le Magasin des requêtes et que vous avez déjà installé Microsoft SQL Server mise à jour cumulative 2 (CU2) 2017.
Version de build de cu Analysis Services
À compter de SQL Server 2017, le numéro de version de build Analysis Services et le numéro de version de build du Moteur de base de données SQL Server ne correspondent pas. Pour plus d’informations, consultez Vérifier la version de build de mise à jour cumulative Analysis Services.
Mises à jour cumulatives (CU)
Les mises à jour cumulatives (CU) sont à présent disponibles sur le Centre de téléchargement Microsoft.
Seule la mise à jour cumulative la plus récente publiée pour SQL Server 2017 est disponible dans le Centre de téléchargement.
Les packages CU pour Linux sont disponibles sur https://packages.microsoft.com/.
Remarques
-
Chaque nouvelle mise à jour cumulative contient tous les correctifs inclus dans la mise à jour cumulative précédente pour la version installée de SQL Server.
-
Les mises à jour cumulatives SQL Server sont certifiées pour les mêmes niveaux que les Service Packs et doivent être installées au même niveau de confiance.
-
Nous recommandons une installation continue et proactive des unités de certification à mesure qu’elles deviennent disponibles conformément aux recommandations suivantes :
-
Les données historiques indiquent qu’un nombre important d’incidents de support concerne un problème déjà résolu dans une mise à jour cumulative publiée.
-
Les unités de configuration peuvent contenir une valeur ajoutée en plus des correctifs logiciels. Cela inclut la prise en charge, la facilité de gestion et les mises à jour de fiabilité.
-
-
Nous vous recommandons de tester les mises à jour cumulatives avant de les déployer dans un environnement de production.
IMPORTANT
Toutes les distributions (y compris RHEL 7.3 et 7.4) qui utilisent le dernier package Pacemaker disponible 1.1.18-11.el7 introduisent un changement de comportement pour le paramètre de cluster start-failure-is-fatal si sa valeur est false. Cette modification affecte le flux de travail de basculement. Si un réplica principal subit une panne, le cluster est censé basculer vers l’un des réplicas secondaires disponibles. Au lieu de cela, les utilisateurs remarqueront que le cluster continue d’essayer de démarrer le réplica principal défaillant. Si ce réplica principal n’est jamais mis en ligne (en raison d’une panne permanente), le cluster ne bascule jamais vers un autre réplica secondaire disponible.
Ce problème affecte toutes les versions SQL Server, quelle que soit la version de mise à jour cumulative sur laquelle elles se trouvent.
Pour atténuer le problème, utilisez l’une des méthodes suivantes.
Méthode 1
Procédez comme suit :
-
Supprimez le remplacement start-failure-is-fatal du cluster existant.
# RHEL, ubuntu pcs property unset start-failure-is-fatal # ou pcs property set start-failure-is-fatal=true # SLES crm configure property start-failure-is-fatal=true -
Réduisez la valeur de l’intervalle de revérification du cluster .
# RHEL, Ubuntu pcs property set cluster-recheck-interval=<Xmin> # SLES crm configure property cluster-recheck-interval=<Xmin> -
Ajoutez la propriété meta failure-timeout à chaque ressource du groupe de disponibilité.
# RHEL, Ubuntu pcs resource update ag1 meta failure-timeout=60s # SLES crm configure edit ag1 # Dans l’éditeur de texte, ajoutez 'meta failure-timeout=60s' après tout 'param’s et avant tout 'op’sRemarque Dans ce code, remplacez la valeur par <> Xmin , le cas échéant. Si un réplica tombe en panne, le cluster tente de redémarrer le réplica à un intervalle qui est lié par la valeur de délai d’expiration d’échec et la valeur de l’intervalle de revérification du cluster . Par exemple, si le délai d’expiration d’échec est défini sur 60 secondes et que cluster-recheck-interval est défini sur 120 secondes, le redémarrage est tenté à un intervalle supérieur à 60 secondes mais inférieur à 120 secondes. Nous vous recommandons de définir failure-timeout sur 60s et cluster-recheck-interval sur une valeur supérieure à 60 secondes. Nous vous recommandons de ne pas définir cluster-recheck-interval sur une petite valeur. Pour plus d’informations, reportez-vous à la documentation Pacemaker ou consultez le fournisseur de système.
Méthode 2
Revenez à Pacemaker version 1.1.16.
IMPORTANT
Vous devez exécuter ce script si vous utilisez Magasin des requêtes et que vous effectuez une mise à jour à partir de SQL Server mise à jour cumulative 2017 (CU2) directement vers SQL Server mise à jour cumulative 3 (CU3) ou toute mise à jour cumulative ultérieure. Vous n’avez pas besoin d’exécuter ce script si vous avez déjà installé SQL Server mise à jour cumulative 3 (CU3) 2017 ou toute mise à jour cumulative ultérieure SQL Server 2017.
SET NOCOUNT ON;
DROP TABLE IF EXISTS #tmpUserDBs;
SELECT [database_id], 0 AS [IsDone]
INTO #tmpUserDBs
FROM master.sys.databases
WHERE [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) > 0
BEGIN
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 + ']''
END
END
ELSE
BEGIN
PRINT ''- Query Store not enabled in database [' + @userDB + ']''
END')
UPDATE #tmpUserDBs
SET [IsDone] = 1
WHERE [database_id] = DB_ID(@userDB)
END
Lorsque vous déployez une mise à jour dans un environnement hybride (comme AlwaysOn, la réplication, le cluster et la mise en miroir), nous vous recommandons de vous reporter aux articles suivants avant de déployer la mise à jour :
-
SQL Server processus
de mise à jour propagée et de Service Pack du cluster de basculementNote Si vous ne souhaitez pas utiliser le processus de mise à jour propagée, procédez comme suit pour appliquer une mise à jour :-
Installez la mise à jour sur le nœud passif.
-
Installez la mise à jour sur le nœud actif (nécessite un redémarrage du service).
-
-
Mise à niveau et mise à jour des serveurs de groupe de disponibilité qui utilisent un temps d’arrêt minimal et une perte de
données Note Si vous avez activé AlwaysOn avec le catalogue SSISDB, consultez les informations sur SSIS avec AlwaysOn pour plus d’informations sur l’application d’une mise à jour dans ces environnements. -
Comment appliquer un correctif logiciel pour SQL Server dans une topologie de réplication
SQL Server les Mises à jour cumulatives sont actuellement multilingues. Par conséquent, ce package de mise à jour cumulative n’est pas spécifique à une langue. Elle s’applique à toutes les langues prises en charge.
Un package de mise à jour cumulative inclut toutes les mises à jour disponibles pour tous les composants (fonctionnalités) SQL Server 2017. Toutefois, le package de mise à jour cumulative met à jour uniquement les composants actuellement installés sur l’instance SQL Server que vous choisissez de traiter. Si une fonctionnalité SQL Server (par exemple, Analysis Services) est ajoutée à l’instance après l’application de cette cu, vous devez réappliquer cette cu pour mettre à jour la nouvelle fonctionnalité vers cette cu.
Si d’autres problèmes se produisent ou si une résolution des problèmes est nécessaire, vous devrez peut-être créer une demande de service. Les coûts de support habituels s’appliquent aux questions de support supplémentaires et aux problèmes qui ne sont pas éligibles pour ce package de mise à jour cumulative spécifique. Pour obtenir la liste complète des numéros de téléphone Microsoft service clientèle et support technique, ou pour créer une demande de service distincte, accédez au site web Support Microsoft.
Comment désinstaller cette mise à jour
-
Dans Panneau de configuration, ouvrez l’élément Programmes et fonctionnalités, puis sélectionnez Afficher les mises à jour installées.
-
Recherchez l’entrée qui correspond à ce package de mise à jour cumulative sous SQL Server 2017.
-
Appuyez longuement (ou cliquez avec le bouton droit) sur l’entrée, puis sélectionnez Désinstaller.
Pour désinstaller cette cu sur Linux, vous devez restaurer le package à la version précédente.
Pour plus d’informations sur la restauration de l’installation, consultez Restauration SQL Server.
Exclusion de responsabilité des informations tierces
Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.
Références
-
Annonce de mises à jour du modèle de maintenance incrémentielle (ISM) SQL Server
-
Les Service Packs SQL Server sont interrompus à partir de SQL Server 2017
-
Script qui détermine la version et l’édition du moteur de base de données SQL Server exécuté
-
Schéma d’appellation des packages de mise à jour logicielle de Microsoft SQL Server
-
Terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft