Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

SQL Server 2016 : Les nouveautés

Manipuler les configurations limitées aux bases de données

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Étudiez les différentes options des configurations par base de données. Exploitez aussi les requêtes permettant de voir la configuration actuelle et de vider le cache de plan pour une base de données.
06:22

Transcription

Afin de vous montrer les différentes options de configuration, je bascule en Mode plutôt « Code Transacte SQL », avec mes « Alter Database Scopt Configuration ». Ça va me permettre de vous parler du sens de ces différentes options. Déjà pour mémoire, depuis toujours dans SQL Serveur, vous avez la possibilité de placer ce qu'on appelle des « Drapeaux de trace » ou « Trace Flug ». Un « drapeau de trace » c'est simplement un numéro, comme celui-ci, le 4199, qui vous permet de changer le comportement de SQL Serveur. Donc « un drapeau de trace » c'est un numéro qui est posé par vous et qui va orienter l'exécution du code de SQL Serveur, sur certaines fonctionnalités un peu cachées ou un peu sensibles et ces « drapeaux de trace » sont soit documentés, soit non documentés. Il y en a quelques uns donc qui vous sont parfois recommandés dans des blogs, (méfiez-vous), entre parenthèses, et parfois recommandés par le Support technique de Microsoft, par exemple. Il y en a quelques uns qui sont assez connus. Et à partir de SQL Serveur 2016, la politique assez intelligente, c'est d'abandonner peut-être, petit à petit ces numéros incompréhensibles, pour basculer sur des configurations, un petit peu plus lisibles et manipulables. Et en fait, ces configurations, celles-ci, celles-ci, celles-ci, correspondent à des « Drapeaux de trace » ou d'anciens « Drapeaux de trace », qui peuvent être maintenant beaucoup plus facilement activer ou désactiver. Je vais vous expliquer. Au lieu d'avoir, par exemple, à activer ce « Drapeau de trace », donc le 4199 avec un DBCC TRACEON c'est une vieille commande DBCC, où je rajoute 1, d'ailleurs pour dire que j'active ce « Drapeau de Trace » sur l'ensemble du serveur, et ensuite le désactiver avec un TRACEOFF. Eh bien, je peux maintenant, avoir le même effet en utilisant l'option «Query Optimizer Hotfixes à on », sur une base de données spécifique. En plus ça a l'avantage de pouvoir activer ou désactiver ces options par base de données, alors qu'avant on était sur le serveur tout entier. Donc, par exemple ceci correspond à ce que nous avons vu avant, dans nos options, ici, « Correctifs de l'optimiseur de requête ». Vous voyez que par défaut, cette option est désactivée, et ici je vous ai mis des commandes pour changer en fait les options par défaut. « Legacy Cardinality Estimation état off », c'est-à-dire « estimation de cardinalité hérités » désactivée par défaut, « Parameter Sniffing » ici, je l'ai mis en off et ici, « Détection de paramètre » il est désactivée, en fait il devrait être activée, voilà, c'est la valeur par défaut. Et, eh bien, le « Max Dop » , on lève. Donc, je quitte ceci et je reparle juste une seconde de ce « Query Optimizer Hotfixes ». Depuis de nombreuses versions, lorsque Microsoft corrige les choses dans les moteurs d'optimisation, c'est-à-dire ce moteur qui va permettre de créer un plan d'exécution pour la requête, eh bien, ces corrections ne sont pas automatiquement activées, lorsque vous installez un service PAQ de SQL Serveur, par exemple. Et cela pour ne pas changer sans prévenir le comportement de l'optimiseur chez des clients. Il est évident que si vous installez une nouvelle version de SQL Serveur et toutes les exécutions de vos requêtes changent sans prévenir. Et peut-être vous êtes un peu énervé. C'est pour ça que Microsoft active ces corrections, seulement lorsque vous activez le « Drapeau de Trace 4199 ». L'idée à partir de SQL Serveur 2016, ça était de changer ce comportement, de dire OK. A partir de 2016, on va activer toutes nos corrections par défaut. Et donc, si je vais faire une mise à jour de SQL Serveur ou si je place un service PAQ, les corrections sont activées par défaut. Mais si vous en avez besoin sur une base de données, eh bien, vous pouvez désactiver. A ce moment-là, vous changer le comportement et vous dites : bah non, je veux garder l'état de mon optimiseur tel qu'il est à l'heure actuelle. Donc, il n'y a pas vraiment dans la plupart des cas de raison de le faire, mais peut-être que vous êtes dans une configuration particulière, et vous en avez besoin. A ce moment-là, vous avez à disposition cette commande qui vous permet donc, de changer ce comportement. Je vais vous montrer dans un instant, le sens de ces deux autres configurations, le MaxDop, je vais le mettre ici, on l'a déjà vu, mais avant, juste deux remarques sur cette fonctionnalité de configuration. Vous pouvez voir la configuration actuelle à l'aide de cette Vue Système, qui est donc dans le schéma « sys » et qui s'appelle « database scoped configurations », de façon à savoir, sur votre base de données quelle est la valeur actuelle. Ensuite, vous pouvez aussi utiliser ce « alter database scoped configurations » pour nettoyer le « Cache de plan », aussi appelé le « Cache de procédure », mais seulement pour les plans des requêtes, qui touchent à cette base de données. A mémoire, est-ce que le serveur va garder des plans d'exécution, qui vont être calculés de façon à ne pas avoir recalculé toujours les mêmes plans. Mais parfois, vous pourriez avoir besoin de supprimer des plans d'exécution du cache pour faire des tests, ou ben, lorsque vous soupçonnez que les plans ne correspondent plus à la réalité. A ce moment-là, vous aviez, historiquement vous l'aviez toujours d'ailleurs, une commande BCC, qui s'appelle, je vous l'écris : « DBCC FREEPROCCACHE », comme ceci, mais sont des avantages et qu'elles vident l’intégralité des plans en mémoires. Si vous avez une dizaine de base de données, tous les plans de toutes les requêtes pour toutes les bases de données sont vidés. Maintenant vous pouvez décider de vider le « Cache de plan » pour une base de données en particulier à l'aide de cette commande, « Alter Database Scoped Configuration Clear Procedure Cache», et cela vous permet de faire des tests, ou de nettoyer le « cache de plan », sans impacter d'autres bases de données qui tournent sur votre serveur.

SQL Server 2016 : Les nouveautés

Découvrez les nouveautés de SQL Server 2016. Voyez les options de configuration limitées aux bases de données, le chiffrage de données à partir des applications clientes, etc.

2h26 (27 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !