Notes de publication de SQL Server 2016

S’applique à : SQL Server 2016 (13.x) et versions ultérieures

Cet article décrit les limitations et les problèmes des versions de SQL Server 2016 (13.x), notamment des Service Packs. Pour plus d’informations sur les nouveautés, consultez Nouveautés de SQL Server 2016.

SQL Server 2016 Service Pack 3 (SP3)

SQL Server 2016 (13.x) SP3 inclut toutes les mises à jour cumulatives publiées après SQL Server 2016 (13.x) SP2, jusqu’à la mise à jour CU17 (incluse).

Il peut s’avérer nécessaire de redémarrer le système après l’installation de SQL Server 2016 (13.x) SP3. À titre de meilleure pratique, nous vous recommandons de planifier et d’effectuer un redémarrage une fois l’installation terminée.

Améliorations relatives aux performances et à la scalabilité incluses dans SQL Server 2016 (13.x) SP3.

Caractéristique Description Informations complémentaires
Écouteur de groupe de disponibilité sans équilibreur de charge Vous permet de créer un nouveau type d’écouteur de groupe de disponibilité nommé « écouteur de nom de réseau distribué (DNN) » sans équilibreur de charge.

Remarque : la suppression de l’équilibreur de charge réduit considérablement la complexité de la configuration et réduit considérablement la latence de basculement du groupe de disponibilité (de 6 à 7 fois pour certaines charges de travail).
KB4578579
Activer la fonctionnalité DNN dans SQL Server 2016 et 2019 FCI L’écouteur de l’instance de cluster de basculement (FCI) a été amélioré pour fonctionner avec le point d’accès de nom de réseau distribué (DNN) de cluster de basculement Windows Server (WSFC). KB4537868

Améliorations relatives à la prise en charge et aux diagnostics incluses dans SQL Server 2016 (13.x) SP3.

Caractéristique Description Informations complémentaires
Améliore la prise en charge et la convivialité de la capture CDC avec les bases de données en mémoire La fonctionnalité de capture des changements de données (CDC) ne peut pas être activée sur une base de données pour laquelle l’accès de traitement transactionnel en ligne (OLTP) en mémoire est activé. Cette amélioration débloque l’activation de la capture des changements de données sur une base de données avec traitement OLTP en mémoire et les objets en mémoire. En outre, l’événement XEvent cdc_session a été mis à jour pour imprimer les informations de la phase d’analyse. KB4500511
La taille et la stratégie de rétention sont augmentées dans l’événement XEvent par défaut trace system_health La définition actuelle de la session XEvent system_health présente une taille de fichier maximale de 5 mégaoctets (Mo) et un nombre maximal de 4 fichiers, pour 20 Mo maximum de données XEvent system_health. Sur les systèmes qui comportent un grand nombre d’activités, vous pouvez dépasser cette limite très rapidement et manquer des informations importantes en cas de problème affectant le système. Pour que plus de données de dépannage soient disponibles sur le système, dans cette mise à jour, la taille de fichier par défaut est passée de 5 Mo à 100 Mo et le nombre de fichiers par défaut est passé de 4 à 10, pour un maximum de 1 Go de données XEvent system_health. Si les valeurs par défaut ont déjà été modifiées dans la définition de la session system_health, cette amélioration ne remplace pas les paramètres existants. KB4541132
Nouveaux événements XEvents temp_table_cache_trace et temp_table_destroy_list_trace Deux nouveaux événements XEvent temp_table_cache_trace et temp_table_destroy_list_trace sont créés pour le suivi des métriques et des opérations de cache de table temporaires.

Remarque : ces événements XEvents effectuent le suivi d’un objet de cache de métadonnées spécifique appelé cache d’objets temporaires, qui contient des informations sur les tables temporaires, les objets, les paramètres sont mis en cache, supprimés et réutilisés. Vous pouvez exécuter l’événement XEvent pour suivre (trace) le comportement du cache quand vous remarquez la contention du cache tempdb. La plupart des clients n’utilisent pas cette fonction. Cela aide les ingénieurs CSS à déboguer les problèmes dans leur environnement.
KB5003937
Nouvelle journalisation et nouveaux événements XEvents pour aider à résoudre les problèmes d’analyse de pool de mémoires tampons durables Certaines opérations dans SQL Server déclenchent une analyse du pool de mémoires tampons (le cache qui stocke les pages de base de données en mémoire). Sur les systèmes disposant d’une grande quantité de mémoire (1 To ou plus), l’analyse du pool de mémoires tampons prend beaucoup de temps, ce qui ralentit l’opération qui a déclenché l’analyse. Ces nouveaux événements XEvents peuvent aider à résoudre les problèmes d’analyse de pool de mémoires tampons durables. Les opérations qui analysent le pool de mémoires tampons SQL Server sont lentes sur les machines à mémoire volumineuse
Nouveau format de journalisation pour SQL Writer Fournit des données de dépannage supplémentaires dans un format facile à lire/analyser, ainsi qu’un contrôle amélioré de la verbosité du journal et de l’activation/désactivation. SQL Server - Journalisation de l’enregistreur VSS Writer
Ajoute l’événement XEventsql_statement_post_compile Cet événement étendu est déclenché chaque fois qu’une compilation de requête est terminée. Il fournit des informations indiquant si la compilation de requête était une compilation initiale ou une recompilation, ainsi que le temps nécessaire pour compiler la requête et la quantité de capacité processeur utilisée. KB4480630
Des statistiques endommagées peuvent être détectées à l’aide de extended_logical_checks Quand les statistiques sont endommagées, un message très générique peut être levé sans informations sur l’endommagement des statistiques. En outre, il est possible que CHECKDB ne signale pas des statistiques endommagées. Cette amélioration permet de détecter des statistiques endommagées à l’aide de extended_logical_checks dans le cadre de DBCC CHECKDB. KB4530907
Précision améliorée de l’événement XEvent query_plan_profile Le temps processeur et le temps d’exécution signalés par l’événement XEvent query_plan_profile sont plus précis. Infrastructure légère de profilage des statistiques sur l’exécution des requêtes v2

Problèmes connus

Cette section identifie les problèmes qui peuvent se produire après l’application de SQL Server 2016 (13.x) SP3.

Services R utilisant le streaming, le partitionnement ou des algorithmes spécifiques

  • Problème : les limitations suivantes s’appliquent à SQL Server 2016 (13.x) avec la mise à niveau du runtime (configurée avec RegisterRext.exe /configure) ou l’installation intégrée du pack SP3. Ce problème s’applique à l’édition Entreprise.

    • Parallélisme : les algorithmes RevoScaleR et MicrosoftML dans les scénarios de parallélisme de threads sont limités à 2 threads.
    • Streaming et partitionnement : les scénarios impliquant le passage du paramètre @r_rowsPerRead à la procédure stockée T-SQL sp_execute_external_script ne sont pas appliqués.
    • Streaming et partitionnement : les sources de données RevoScaleR et les MicrosoftML (c’est-à-dire ODBC, XDF) ne prennent pas en charge la lecture de lignes dans des blocs lors de scénarios d’entraînement ou de scoring. Dans ces scénarios, les données sont toujours entièrement mises en mémoire pour le calcul et les opérations sont liées à la mémoire.
  • Solution : la meilleure solution consiste à effectuer la mise à niveau vers SQL Server 2019 (15.x). Vous pouvez également continuer à utiliser SQL Server 2016 (13.x) SP3 après avoir effectué les tâches suivantes.

    1. Modifiez le Registre pour créer une clé Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\150 et ajoutez une valeur SharedCode avec les données C:\Program Files\Microsoft SQL Server\150\Shared ou le répertoire partagé, comme configuré pour l’instance.

    2. Créez un dossier C:\Program Files\Microsoft SQL Server\150\Shared and copy instapi130.dll et copiez le fichier instapi130.dll contenu dans C:\Program Files\Microsoft SQL Server\130\Shared vers le nouveau dossier.

    3. Renommez instapi130.dll en instapi150.dll dans le nouveau dossier C:\Program Files\Microsoft SQL Server\150\Shared.

Important

Si vous effectuez les étapes ci-dessus, vous devez supprimer manuellement la clé ajoutée avant de procéder à la mise à niveau vers une version ultérieure de SQL Server.

Pour plus d’informations, consultez Modifier la version du runtime R dans SQL Server 2016.

Erreurs de nettoyage du suivi des modifications

  • Problème : le message d’erreur suivant se produit après l’exécution d’une procédure stockée de nettoyage du suivi des modifications (sp_flush_commit_table_on_demand ou sp_flush_CT_internal_table_on_demand) :
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line <LineNumber>
Error converting data type numeric to int.

Pour plus d’informations, consultez KB5007039.

Échec du script R

  • Problème : après l’installation du pack SP3, l’exécution du script R échoue. Le script R échoue avec une erreur comme :

    Error: executable command line exceeds the 2047 characters limit.

  • Solution : désinstallez Microsoft MPI v7. Installez Microsoft MPI v10. Pour plus d’informations, consultez Microsoft MPI.

Problème lors de la suppression du pack SP3

  • Problème : si vous supprimez le pack SP3, les 20 comptes d’utilisateur du groupe SQLRUserGroup utilisés par Launchpad sont supprimés. Toute exécution de sp_execute_external_script génère cette erreur :

    Unable to launch the runtime. ErrorCode 0x80070718: 1816(Not enough quota is available to process this command.).
    
  • Solution : exécutez la réparation. Par exemple :

    setup.exe /q /ACTION=Repair /INSTANCENAME=<instancename>  
    

    Pour plus d’informations, consultez Réparer une installation défectueuse de SQL Server.

Installer le pack SP3 avec SysPrep

  • Problème : quand vous utilisez SysPrep pour installer le pack SP3 avec la fonctionnalité d’extensibilité, SysPrep n’installe pas correctement la version SP3 de l’infrastructure d’extensibilité. Au lieu de cela, certains fichiers binaires manquent ou ne sont pas corrects. Par exemple, le runtime R 3.5.2 manque.

  • Solution : exécutez la réparation après avoir terminé l’image. Par exemple :

    setup.exe /q /ACTION=Repair /INSTANCENAME=<instancename>  
    

    Pour plus d’informations, consultez Réparer une installation défectueuse de SQL Server.

SQL Server 2016 Service Pack 2 (SP2)

SQL Server 2016 (13.x) SP2 inclut toutes les mises à jour cumulatives publiées après SQL Server 2016 (13.x) SP1, jusqu’à la mise à jour CU8 (incluse).

Il peut s’avérer nécessaire de redémarrer le système après l’installation de SQL Server 2016 (13.x) SP2. À titre de meilleure pratique, nous vous recommandons de planifier et d’effectuer un redémarrage une fois l’installation terminée.

Améliorations relatives aux performances et à la scalabilité incluses dans SQL Server 2016 (13.x) SP2.

Caractéristique Description Informations complémentaires
Procédure améliorée de nettoyage de base de données de distribution Une table de base de données de distribution de grande taille causait une situation de blocage. Cette amélioration vise à éviter certains scénarios de blocage ou d’interblocage. KB4040276
Nettoyage du suivi des modifications Amélioration des performances et de l’efficacité du nettoyage du suivi des modifications pour les tables Change Tracking. KB4052129
Utiliser l’expiration du temps processeur pour annuler une requête Resource Governor Améliore la gestion des demandes de requête en annulant réellement la requête, si les seuils de processeur pour une requête sont atteints. Ce comportement est activé sous l’indicateur de trace 2422. KB4038419
SELECT INTO pour créer une table cible dans un groupe de fichiers À partir de SQL Server 2016 (13.x) SP2, la syntaxe SELECT INTO T-SQL prend en charge le chargement d’une table dans un groupe de fichiers autre qu’un groupe de fichiers par défaut de l’utilisateur, à l’aide du mot clé <nom du groupe de fichiers> dans la syntaxe T-SQL.
Point de contrôle indirect amélioré pour TempDB Le point de contrôle indirect pour TempDB est amélioré pour minimiser la contention de verrouillage tournant sur DPLists. Cette amélioration permet à la charge de travail TempDB sur SQL Server 2016 (13.x) d’effectuer un scale-out immédiatement si le point de contrôle indirect est défini sur ON pour TempDB. KB4040276
Performances de sauvegarde de base de données améliorées sur les machines à mémoire volumineuse SQL Server 2016 (13.x) SP2 optimise la façon dont nous drainons les E/S continues pendant la sauvegarde, entraînant des gains significatifs en termes de performances de sauvegarde pour les bases de données petites à moyennes. Nous avons constaté une amélioration supérieure à 100 fois lors de sauvegardes de bases de données système sur une machine de 2 To. Le gain de performances diminue avec l’augmentation de la taille de la base de données, car les pages à sauvegarder et les E/S de la sauvegarde prennent plus de temps que les itérations du pool de mémoires tampons. Cette modification permet d’améliorer les performances de sauvegarde pour les clients hébergeant plusieurs bases de données de petite taille sur des serveurs haut de gamme volumineux dotés d’une grande capacité de mémoire.
Prise en charge de la compression de sauvegarde VDI pour les bases de données compatibles TDE SQL Server 2016 (13.x) SP2 ajoute la prise en charge de VDI pour permettre aux solutions de sauvegarde VDI de tirer parti de la compression pour les bases de données compatibles TDE. Avec cette amélioration, un nouveau format de sauvegarde a été introduit pour prendre en charge la compression de sauvegarde pour les bases de données compatibles TDE. Le moteur SQL Server gère en toute fluidité les formats de sauvegarde nouveaux et anciens pour restaurer les sauvegardes.
Chargement dynamique des paramètres de profil d’agent de réplication Cette nouvelle amélioration permet le chargement dynamique des paramètres des agents de réplication sans avoir à redémarrer l’agent. Ce changement s’applique uniquement aux paramètres de profil d’agent les plus couramment utilisés.
Prise en charge de l’option MAXDOP pour la création/mise à jour des statistiques Cette amélioration permet de spécifier l’option MAXDOP pour une instruction CREATE/UPDATE relative aux statistiques. Elle permet aussi de s’assurer que le paramètre MAXDOP correct est utilisé lorsque des statistiques sont mises à jour dans le cadre d’une opération de création ou de regénération de tous types d’index (si l’option MAXDOP est présente) KB4041809
Mise à jour des statistiques automatique améliorée pour les statistiques incrémentielles Dans certains scénarios, lorsque plusieurs modifications des données ont eu lieu sur plusieurs partitions d’une table entraînant le compteur de modifications totales pour les statistiques incrémentielles à dépasser le seuil de mise à jour automatique, mais sans que les partitions individuelles ne dépassent le seuil de mise à jour automatique, la mise à jour des statistiques peut être retardée jusqu’à ce que davantage de modifications aient lieu dans la table. Ce comportement est corrigé sous l’indicateur de trace 11024.

Améliorations relatives à la prise en charge et aux diagnostics incluses dans SQL Server 2016 (13.x) SP2.

Caractéristique Description Informations complémentaires
Prise en charge complète de DTC pour les bases de données dans un groupe de disponibilité Les transactions entre bases de données faisant partie d’un groupe de disponibilité ne sont actuellement pas prises en charge pour SQL Server 2016 (13.x). Avec SQL Server 2016 (13.x) SP2, nous présentons la prise en charge complète des transactions distribuées avec des bases de données de groupes de disponibilité.
Mise à jour de la colonne is_encrypted de sys.databases pour refléter de manière correcte l’état du chiffrement pour TempDB La valeur de la colonne is_encryptedcolumn dans sys.databases est égale à 1 pour TempDB, même après la désactivation du chiffrement pour toutes les bases de données utilisateur et le redémarrage de SQL Server. Le comportement attendu est une valeur de 0, car TempDB n’est plus chiffré dans ce cas. À partir de SQL Server 2016 (13.x) SP2, sys.databases.is_encrypted reflète maintenant de manière correcte l’état du chiffrement pour TempDB.
Nouvelles options DBCC CLONEDATABASE pour générer un clone et une sauvegarde vérifiés Avec SQL Server 2016 (13.x) SP2, DBCC CLONEDATABASE offre deux nouvelles options : produire un clone vérifié ou un clone de sauvegarde. Lorsqu’une base de données clone est créée avec l’option WITH VERIFY_CLONEDB, un clone de base de données cohérent est créé et vérifié. Celui-ci est pris en charge par Microsoft pour une utilisation en production. Une nouvelle propriété est ajoutée pour valider que le clone est vérifié SELECT DATABASEPROPERTYEX('clone_database_name', 'IsVerifiedClone'). Lorsqu’un clone est créé avec l’option BACKUP_CLONEDB, une sauvegarde est générée dans le même dossier que le fichier de données afin de faciliter, pour les utilisateurs, le déplacement du clone vers un autre serveur ou son envoi au Support technique Microsoft à des fins de résolution des problèmes.
Prise en charge de Service Broker (SSB) pour DBCC CLONEDATABASE Commande DBCC CLONEDATABASE améliorée pour autoriser le script d’objets SSB.
Nouvelle vue de gestion dynamique (DMV) pour surveiller l’utilisation de l’espace du magasin de versions TempDB Une nouvelle DMV sys.dm_tran_version_store_space_usage est présentée dans SQL Server 2016 (13.x) SP2 pour permettre la supervision de l’utilisation du magasin de versions de TempDB. Les Administrateurs de base de données peuvent désormais planifier de manière proactive le dimensionnement de TempDB en fonction des exigences d’utilisation du magasin de versions par base de données, sans surcharge des performances en cas d’exécution sur des serveurs de production.
Prise en charge complète des vidages (dumps) pour les agents de réplication Actuellement, si les agents de réplication rencontrent une exception non gérée, le comportement par défaut est de créer un vidage minimal des symptômes de l’exception. Cela rend la résolution des problèmes d’une exception non gérée très difficile. Via cette modification, nous introduisons une nouvelle clé de registre, qui permet de créer un vidage complet pour les Agents de réplication.
Amélioration des événements étendus pour la lecture de l’échec de routage pour un groupe de disponibilité Auparavant, xEvent read_only_rout_fail se déclenchait si une liste de routage existait, mais qu’aucun des serveurs dans la liste de routage n’était disponible pour les connexions. SQL Server 2016 (13.x) SP2 inclut des informations supplémentaires pour aider à résoudre ce type de problème. Il étend également les points de code où cet événement XEvent peut être déclenché.
Nouvelle vue de gestion dynamique (DMV) pour analyser le journal des transactions Ajout d’une nouvelle DMV sys.dm_db_log_stats qui retourne des attributs de niveau résumé et des informations sur les fichiers journaux des transactions des bases de données.
Nouvelle vue de gestion dynamique (DMV) pour surveiller les informations du fichier journal virtuel Une nouvelle vue de gestion dynamique, sys.dm_db_log_info, est introduite dans SQL Server 2016 (13.x) SP2 pour exposer les informations de fichier journal virtuel similaires à DBCC LOGINFO, afin de surveiller, alerter et éviter les problèmes T-Log potentiels rencontrés par les clients.
Informations de processeur dans sys.dm_os_sys_info De nouvelles colonnes ont été ajoutées à la DMV sys.dm_os_sys_info pour exposer les informations relatives au processeur, comme socket_count et cores_per_numa.
Informations d’extension modifiée dans sys.dm_db_file_space_usage Une nouvelle colonne a été ajoutée à sys.dm_db_file_space_usage pour suivre le nombre d’extensions modifiées depuis la dernière sauvegarde complète.
Informations de segment dans sys.dm_exec_query_stats De nouvelles colonnes ont été ajoutées à sys.dm_exec_query_stats pour effectuer le suivi du nombre de segments columnstore ignorés et lus, comme total_columnstore_segment_reads et total_columnstore_segment_skips. KB4051358
Définition du niveau approprié de compatibilité pour une base de données de distribution Après l’installation du Service Pack, le niveau de compatibilité de la base de données de distribution passe à 90. Ceci était dû à un chemin d’accès de code dans la procédure stockée sp_vupgrade_replication. Cette procédure stockée a été modifiée afin de définir le niveau de compatibilité correct pour la base de données de distribution.
Exposer les dernières informations DBCC CHECKDB correctes connues Une nouvelle option de base de données a été ajoutée pour retourner par programme la dernière exécution de DBCC CHECKDB réussie. Les utilisateurs peuvent désormais interroger DATABASEPROPERTYEX([database], 'lastgoodcheckdbtime') pour obtenir une valeur unique représentant la date/l’heure de la dernière exécution réussie de DBCC CHECKDB sur la base de données spécifiée.
Améliorations de Showplan XML Informations sur les statistiques utilisées pour compiler le plan de requête, notamment, le nom des statistiques, le compteur de modifications, le pourcentage d’échantillonnage et la dernière mise à jour des statistiques. Remarque : ceci a été ajouté pour les modèles CE 120 et ultérieurs uniquement. Par exemple, non pris en charge pour CE 70.
Un nouvel attribut EstimateRowsWithoutRowgoal est ajouté à showplan XML si l’Optimiseur de requête utilise la logique « row goal ».
Nouveaux attributs du runtime UdfCpuTime et UdfElapsedTime dans showplan XML, pour effectuer le suivi du temps passé dans UDF (User-Defined Functions) scalaire.
Type d’attente CXPACKET ajouté à la liste des 10 principales attentes possible dans showplan XML - L’exécution de requête parallèle implique souvent des attentes CXPACKET, mais ce type d’attente ne répondait pas dans showplan XML.
Extension de l’avertissement de dépassement du runtime pour consigner le nombre de pages écrites dans TempDB durant un dépassement opérateur parallélisme.
Prise en charge de la réplication pour les bases de données avec classements de caractères supplémentaires La réplication peut désormais être prise en charge sur les bases de données qui utilisent les classements de caractères supplémentaires.
Traitement correct de Service Broker avec basculement du groupe de disponibilité Dans la mise en œuvre actuelle, quand Service Broker est activé sur des bases de données du groupe de disponibilité et qu’il y a un basculement du groupe de disponibilité, toutes les connexions Service Broker créées à partir du réplica principal restent ouvertes. Cette amélioration vise à fermer toutes les connexions ouvertes pendant un basculement du groupe de disponibilité.
Résolution des problèmes améliorée des attentes de parallélisme avec l’ajout d’une nouvelle attente CXCONSUMER.
Cohérence améliorée entre les vues de gestion dynamiques (DMV) pour les mêmes informations La DMV sys.dm_exec_session_wait_stats effectue désormais le suivi des attentes CXPACKET et CXCONSUMER de manière cohérente avec la DMV sys.dm_os_wait_stats.
Résolution des problèmes améliorée des blocages de parallélisme intra-requête Nouvel événement étendu exchange_spill pour consigner le nombre de pages écrites dans TempDB lors d’un dépassement opérateur parallélisme, dans le nom de champ xEvent worktable_physical_writes.
Les colonnes de dépassement dans les DMV sys.dm_exec_query_stats, sys.dm_exec_procedure_stats et sys.dm_exec_trigger_stats (comme total_spills) inclut aussi les données propagées par les opérateurs de parallélisme.
Le graphe de blocage XML est amélioré pour les scénarios de blocage de parallélisme, avec davantage d’attributs ajoutés à la ressource exchangeEvent.
Le graphe de blocage XML est amélioré pour les blocages impliquant des opérateurs en mode lot, avec davantage d’attributs ajoutés à la ressource SyncPoint.
Rechargement dynamique de certains paramètres de profil d’agent de réplication Dans la mise en œuvre actuelle des agents de réplication, toute modification dans le paramètre de profil d’agent requiert l’arrêt et le redémarrage de l’agent. Ces améliorations permettent le rechargement dynamique des paramètres sans avoir à redémarrer l’agent de réplication.

SQL Server 2016 Service Pack 1 (SP1)

SQL Server 2016 (13.x) SP1 inclut toutes les mises à jour cumulatives jusqu’à SQL Server 2016 (13.x) RTM CU3, notamment la mise à jour de sécurité MS16-136. Elle contient un récapitulatif des solutions fournies dans les mises à jour cumulatives de SQL Server 2016 (13.x) jusqu’à la dernière mise à jour cumulative – CU3 (incluse) et la mise à jour de sécurité MS16-136 publiée le 8 novembre 2016.

Les fonctionnalités suivantes sont disponibles dans les éditions Standard, Web, Express et Base de données locale de SQL Server 2016 (13.x) SP1 (sauf indication contraire) :

  • Always Encrypted
  • Capture des changements de données (non disponible dans l’édition Express)
  • columnstore
  • Compression
  • Masquage dynamique des données
  • Audit à granularité fine
  • OLTP en mémoire (non disponible dans l’édition Base de données locale)
  • Plusieurs conteneurs Filestream (non disponible dans l’édition Base de données locale)
  • Partitionnement
  • PolyBase
  • Sécurité au niveau des lignes

Le tableau suivant récapitule les principales améliorations fournies dans SQL Server 2016 (13.x) SP1.

Caractéristique Description Informations complémentaires
Insertion en bloc dans des segments de mémoire avec un TABLOCK automatique sous TF 715 L’indicateur de trace 715 active le verrou de table pour les opérations de chargement en masse dans un segment de mémoire sans index non-cluster. Migrating SAP workloads to SQL Server just got 2.5x faster
CREATE ou ALTER Déployer des objets tels que des procédures stockées, des déclencheurs, des fonctions définies par l’utilisateur et des vues. Blog relatif au moteur de base de données SQL Server
Prise en charge de DROP TABLE pour la réplication Prise en charge de la DLL TABLE DROP pour la réplication afin de permettre la suppression d’articles de réplication. KB 3170123
Signature du pilote Filestream RsFx Le pilote Filestream RsFx est signé et certifié à l’aide du portail du tableau de bord du centre de développement du matériel Windows (portail de développement), ce qui permet d’installer le pilote Filestream RsFx SQL Server 2016 (13.x) SP1 sur Windows Server 2016/Windows 10 sans aucun problème. Migrating SAP workloads to SQL Server just got 2.5x faster
LPIM sur un compte de service SQL - identification par programmation Permettre aux administrateurs de base de données d’identifier par programmation si le privilège LPIM (Verrouiller les pages en mémoire) est en vigueur au moment du démarrage du service. Developers Choice: Programmatically identify LPIM and IFI privileges in SQL Server
Nettoyage manuel du suivi des modifications Une nouvelle procédure stockée nettoie à la demande la table interne de suivi des modifications. KB 3173157
Changements de Parallel INSERT..SELECT pour les tables temporaires locales Nouvelle fonctionnalité Parallel INSERT dans les opérations INSERT..SELECT. SQL Server Customer Advisory Team
Showplan XML Diagnostics étendus incluant un avertissement d’allocation et une mémoire maximale activés pour une requête, des indicateurs de trace activés, ainsi que d’autres informations de diagnostic. KB 3190761
Mémoire de classe de stockage Améliore le traitement des transactions à l’aide de la mémoire de classe de stockage dans Windows Server 2016, ce qui permet d’accélérer les temps de validation des transactions par ordre de grandeur. Blog relatif au moteur de base de données SQL Server
USE HINT Utilisez l’option de requête OPTION(USE HINT('<option>')) pour modifier le comportement de l’optimiseur de requête à l’aide d’indicateurs de niveau requête pris en charge. Contrairement à QUERYTRACEON, l’option USE HINT ne nécessite pas de privilèges sysadmin. Developers Choice: USE HINT query hints
Ajouts d’événements XEvent Nouvelles fonctionnalités de diagnostics XEvent et Perfmon améliorent la résolution des problèmes de latence. Événements étendus

De plus, notez les correctifs suivants :

  • En fonction des commentaires des administrateurs de base de données et de la Communauté SQL, à compter de SQL 2016 SP1, les messages de journalisation Hekaton sont réduits au minimum.
  • Passez en revue les nouveaux indicateurs de trace.
  • Les versions complètes des exemples de bases de données WideWorldImporters fonctionnent maintenant avec les éditions Standard et Express, à compter de SQL Server 2016 (13.x) SP1, et sont disponibles sur GitHub. Aucun changement n’est nécessaire dans l’exemple. Les sauvegardes de base de données créées dans la version finale de l’édition Entreprise avec Standard et Express SP1.

Il peut s’avérer nécessaire de redémarrer le système après l’installation de SQL Server 2016 (13.x) SP1. À titre de meilleure pratique, nous vous recommandons de planifier et d’effectuer un redémarrage une fois l’installation terminée.

Pages de téléchargement et informations supplémentaires

SQL Server 2016 – Disponibilité générale (DG)

repl_icon_warn Installer le correctif obligatoire (GA)

Problème et impact sur le client : Microsoft a identifié un problème qui affecte les fichiers binaires Microsoft VC ++ 2013 Runtime qui sont installés en tant que prérequis par SQL Server 2016. Une mise à jour est disponible pour résoudre ce problème. Si cette mise à jour des fichiers binaires du runtime VC n’est pas installée, SQL Server 2016 risque de rencontrer des problèmes de stabilité dans certains scénarios. Avant d’installer SQL Server 2016, vérifiez si l’ordinateur a besoin du patch décrit dans la base de connaissances KB 3164398. Le correctif est également inclus dans Package de mises à jour cumulatives 1 (CU1) pour SQL Server 2016 RTM.

Résolution : Utilisez l’une des solutions suivantes :

  • Installez la Mise à jour pour Visual C++ 2013 et de Visual C++ Redistributable Package (KB 3138367). Le recours à l’article de la Base de connaissances est la méthode de résolution recommandée. Vous pouvez installer cette mise à jour avant ou après avoir installé SQL Server 2016 (13.x).

    Si SQL Server 2016 (13.x) est déjà installé, exécutez les étapes suivantes dans l’ordre :

    1. Téléchargez la version appropriée de vcredist_*exe.
    2. Arrêtez le service SQL Server pour toutes les instances du moteur de base de données.
    3. Installez KB 3138367.
    4. Redémarrez l'ordinateur.
  • Installez KB 3164398 – Mise à jour critique pour les composants requis MSVCRT de SQL Server 2016.

    Si vous utilisez KB 3164398, vous pouvez l’installer en même temps que SQL Server, via Microsoft Update ou à partir du Centre de téléchargement Microsoft.

    • Pendant l’installation de SQL Server 2016 (13.x) : si l’ordinateur exécutant le programme d’installation de SQL Server a accès à Internet, le programme d’installation de SQL Server recherche la mise à jour pendant l’installation générale de SQL Server. Si vous acceptez la mise à jour, le programme d’installation télécharge et met à jour les fichiers binaires pendant l’installation.

    • Microsoft Update : la mise à jour est disponible auprès de Microsoft Update en tant que mise à jour critique de SQL Server 2016 (13.x) non liée à la sécurité. Une installation via Microsoft Update après SQL Server 2016 (13.x) nécessite le redémarrage du serveur à la suite de la mise à jour.

    • Centre de téléchargement : enfin, la mise à jour est accessible à partir du Centre de téléchargement Microsoft. Vous pouvez télécharger le logiciel nécessaire à la mise à jour et l’installer sur les serveurs équipés de SQL Server 2016 (13.x).

Stretch Database

Problème lié à la présence d’un caractère spécifique dans le nom d’une base de données ou d’une table

Problème et impact sur le client : la tentative d’activation de Stretch Database sur une base de données ou une table échoue avec une erreur. Ce problème se produit quand le nom de l’objet comprend un caractère qui est traité comme un caractère différent quand il est converti de minuscule en majuscule. Le caractère « ƒ » (créé en tapant Alt+159) est un exemple de caractère provoquant ce problème.

Solution de contournement : si vous voulez activer Stretch Database sur la base de données ou la table, la seule solution est de renommer l’objet et de supprimer le caractère qui pose problème.

Problème lié à un index qui utilise le mot clé INCLUDE

Problème et impact sur le client : la tentative d’activation de Stretch Database sur une table dont un index utilise le mot clé INCLUDE pour inclure des colonnes supplémentaires dans l’index échoue avec une erreur.

Solution de contournement : supprimez l’index qui utilise le mot clé INCLUDE, activez Stretch Database sur la table, puis recréez l’index. Dans ce cas, veillez à suivre les pratiques et stratégies de maintenance de votre organisation pour limiter autant que possible ou éviter tout impact sur les utilisateurs de la table concernée.

Magasin des requêtes

Problème de nettoyage de données automatique sur les éditions autres que Enterprise et Developer

Problème et impact sur le client : le nettoyage de données automatique échoue sur les éditions qui ne sont pas Entreprise et Developer. Par voie de conséquence, dans la mesure où les données ne sont pas purgées manuellement, l’espace utilisé par le Magasin des requêtes croît au fil du temps jusqu’à atteindre la limite configurée. Si ce problème n’est pas corrigé, l’espace disque alloué pour les journaux d’erreurs se remplit également, car chaque tentative de nettoyage génère un fichier de vidage. La période d’activation du nettoyage dépend de la fréquence de la charge de travail, mais elle ne dépasse pas 15 minutes.

Solution de contournement : si vous prévoyez d’utiliser le Magasin des requêtes sur des éditions autres que les éditions Entreprise et Developer, vous devez désactiver explicitement les stratégies de nettoyage. Cela peut être fait à partir de SQL Server Management Studio (page Propriétés de la base de données) ou via un script Transact-SQL :

ALTER DATABASE <database name> SET QUERY_STORE (OPERATION_MODE = READ_WRITE, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 0), SIZE_BASED_CLEANUP_MODE = OFF)

En outre, envisagez des options de nettoyage manuel pour empêcher le magasin de requêtes de passer en mode lecture seule. Par exemple, exécutez la requête suivante pour nettoyer périodiquement un espace de données dans son intégralité :

ALTER DATABASE <database name> SET QUERY_STORE CLEAR

De même, exécutez les procédures stockées ci-dessous du magasin de requêtes pour nettoyer les statistiques d’exécution, des requêtes ou des plans spécifiques :

  • sp_query_store_reset_exec_stats

  • sp_query_store_remove_plan

  • sp_query_store_remove_query

Documentation du produit (DG)

Problème et impact sur le client : la version téléchargeable de la documentation de SQL Server 2016 (13.x) n’est pas encore disponible. Quand vous utilisez le Gestionnaire de bibliothèque d’aide pour installer du contenu à partir d’une source en ligne, vous voyez la documentation de SQL Server 2012 et SQL Server 2014, mais il n’existe aucune option pour la documentation de SQL Server 2016 (13.x).

Solution de contournement : utilisez l’une des solutions de contournement suivantes :

Manage Help Settings for SQL Server

  • Utilisez l’option Choisir l’aide en ligne ou locale , puis sélectionnez « Utiliser l’aide en ligne ».

  • Utilisez l’option Installer du contenu à partir d’une source en ligne , puis téléchargez le contenu SQL Server 2014.

Aide (F1) : par défaut, quand vous appuyez sur F1 dans SQL Server Management Studio, la version en ligne de l’article d’aide F1 s’affiche dans le navigateur. Le problème vient de l’aide basée sur le navigateur même si vous avez configuré et installé l’aide locale.

Mise à jour de contenu : Dans SQL Server Management Studio et Visual Studio, l’application Visionneuse d’aide peut cesser de répondre pendant l’ajout de la documentation. Pour résoudre ce problème, effectuez les étapes ci-dessous. Pour plus d’informations sur ce problème, consultez La visionneuse d’aide Visual Studio se fige sur l’écran de démarrage.

  • Ouvrez le fichier %LOCALAPPDATA%\Microsoft\HelpViewer2.2\HlpViewer_SSMS16_en-US.settings | HlpViewer_VisualStudio14_en-US.settings dans le Bloc-notes et remplacez la date dans le code ci-dessous par une date future.
     Cache LastRefreshed="12/31/2017 00:00:00"

Informations supplémentaires

Obtenir de l’aide

Contribuer à la documentation SQL

Saviez-vous que vous pouvez modifier le contenu SQL vous-même ? Dans ce cas, non seulement vous nous aidez à améliorer notre documentation, mais vous êtes également cité en tant que contributeur à la page.

Pour plus d’informations, consultez Guide pratique pour contribuer à la documentation SQL Server

MS_Logo_X-Small