{"id":8983,"date":"2022-04-06T07:34:25","date_gmt":"2022-04-06T06:34:25","guid":{"rendered":"https:\/\/blog.capdata.fr\/?p=8983"},"modified":"2022-04-08T09:46:34","modified_gmt":"2022-04-08T08:46:34","slug":"query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/","title":{"rendered":"Query Store : bloquer les r\u00e9gressions de plans d&#8217;ex\u00e9cution et Capture Mode"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8983&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8983&#038;title=Query%20Store%20%3A%20bloquer%20les%20r%C3%A9gressions%20de%20plans%20d%E2%80%99ex%C3%A9cution%20et%20Capture%20Mode\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Query%20Store%20%3A%20bloquer%20les%20r%C3%A9gressions%20de%20plans%20d%E2%80%99ex%C3%A9cution%20et%20Capture%20Mode&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8983\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p>Depuis SQL Server 2016, Microsoft propose dans toutes les \u00e9ditions un outil d&#8217;analyse de performance qui peut sembler un petit peu obscure \u00e0 premier abord.<\/p>\n<p>Il ne remplace pas r\u00e9ellement le Data Collection, qui existe toujours, mais propose une approche moins intrusive que celui-ci. Il n&#8217;y a pas de jobs SSIS, il n&#8217;y a pas besoin d&#8217;une base de donn\u00e9es d\u00e9di\u00e9e et la consommation de ressource est moins \u00e9lev\u00e9e.<\/p>\n<p>Le but de cet article n&#8217;est pas de documenter l&#8217;int\u00e9gralit\u00e9 de son fonctionnement, mais de faire un focus sur la simplicit\u00e9 \u00e0 forcer un plan d&#8217;ex\u00e9cution.<\/p>\n<p>Pour rappel, on active le Query Store par base de donn\u00e9es :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8984\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/capture-mode-300x232.png\" alt=\"\" width=\"592\" height=\"458\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/capture-mode-300x232.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/capture-mode-1024x792.png 1024w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/capture-mode-768x594.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/capture-mode.png 1040w\" sizes=\"auto, (max-width: 592px) 100vw, 592px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>On fera attention au &#8220;Capture Mode&#8221; : avant SQL Server 2019, le mode par d\u00e9faut est &#8220;all&#8221;. Cela veut dire que toutes les requ\u00eates seront catalogu\u00e9es, y compris si elles ne sont pas ex\u00e9cut\u00e9es fr\u00e9quemment et ont un temps de compilation\/ex\u00e9cution ridicule. On peut vite arriver \u00e0 des volumes captur\u00e9s tr\u00e8s elev\u00e9s. Et le code pour exploiter les rapports utilise des UDF, se retrouve donc mono-thread\u00e9, et le temps d&#8217;affichage des rapports peut devenir abominablement long.<\/p>\n<p>Le mode par d\u00e9faut &#8220;all&#8221; a donc \u00e9t\u00e9 remplac\u00e9 par le &#8220;auto&#8221; depuis 2019. Celui-ci se focalise sur les requ\u00eates ex\u00e9cut\u00e9es fr\u00e9quemment et avec des temps de compilation\/ex\u00e9cution longs. <strong>Si vous ne savez pas o\u00f9 vous mettez les pieds : mettez le &#8220;auto&#8221; !<\/strong><\/p>\n<p>Maintenant, pour identifier les r\u00e9gressions, il y a plusieurs approches. Traditionnellement, on approche les probl\u00e8mes de performances par le &#8220;Top Resource Consuming Queries&#8221;.\u00a0 Il est aussi possible de passer par le rapport &#8220;Regressed Queries&#8221; mais d&#8217;exp\u00e9rience il se r\u00e9v\u00e8le malheureusement moins efficace.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8985\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/fast_cut-300x132.png\" alt=\"\" width=\"1091\" height=\"480\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/fast_cut-300x132.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/fast_cut-1024x450.png 1024w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/fast_cut-768x338.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/fast_cut-1536x675.png 1536w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/fast_cut-2048x900.png 2048w\" sizes=\"auto, (max-width: 1091px) 100vw, 1091px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Dans l&#8217;exemple ci-dessus, on voit donc une requ\u00eate ayant consomm\u00e9 beaucoup de temps CPU. Il y a 4 plans d&#8217;ex\u00e9cutions identifi\u00e9s avec principalement 2 types. On a un type &#8220;rapide&#8221; et un type &#8220;lent&#8221;. On a beau regard\u00e9 le d\u00e9tail du plan d&#8217;ex\u00e9cution &#8220;lent&#8221; le subtree cost n&#8217;est pas radicalement diff\u00e9rent. Nous avons \u00e0 faire un probl\u00e8me d&#8217;estimation de cardinalit\u00e9 dans ce plan, \u00e0 l&#8217;int\u00e9rieur d&#8217;un traitement batch.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8993\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/slow_cut2-300x132.png\" alt=\"\" width=\"1126\" height=\"495\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/slow_cut2-300x132.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/slow_cut2-1024x450.png 1024w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/slow_cut2-768x338.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/slow_cut2-1536x676.png 1536w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/slow_cut2-2048x901.png 2048w\" sizes=\"auto, (max-width: 1126px) 100vw, 1126px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Dans l&#8217;id\u00e9al, je pr\u00e9f\u00e9rerais r\u00e9soudre le probl\u00e8me de cardinalit\u00e9 proprement, mais les d\u00e9lais de correction du code contrarient les besoins de l&#8217;\u00e9quipe m\u00e9tier. Il reste donc une solution : fixer le plan d&#8217;ex\u00e9cution manuellement.<\/p>\n<p>Pour cela, on choisi le plan d&#8217;ex\u00e9cution parmi les 4 qui nous int\u00e9resse, et on clique sur &#8220;force plan&#8221;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8987\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/force-plan_cut-300x116.png\" alt=\"\" width=\"1156\" height=\"447\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/force-plan_cut-300x116.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/force-plan_cut-1024x397.png 1024w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/force-plan_cut-768x297.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/force-plan_cut-1536x595.png 1536w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/force-plan_cut-2048x793.png 2048w\" sizes=\"auto, (max-width: 1156px) 100vw, 1156px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>On voit donc que la requ\u00eate dispose d&#8217;un identifiant, et son plan \u00e9galement. Cela nous permettra de la retrouver \u00e0 l&#8217;avenir. On peut \u00e9galement cliquer sur le bouton &#8220;track query&#8221; pour la retrouver plus facilement \u00e0 l&#8217;avenir dans le rapport &#8220;tracked queries&#8221;.<\/p>\n<p>On voit \u00e9galement un tick sur le plan d&#8217;ex\u00e9cution dans le rapport des &#8220;top resource consuming queries&#8221; ainsi que la possibilit\u00e9 de cliquer sur &#8220;unforce plan&#8221;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-8988\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/forced-cut-300x115.png\" alt=\"\" width=\"1242\" height=\"476\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/forced-cut-300x115.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/forced-cut-1024x391.png 1024w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/forced-cut-768x294.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/forced-cut-1536x587.png 1536w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/forced-cut-2048x783.png 2048w\" sizes=\"auto, (max-width: 1242px) 100vw, 1242px\" \/><\/p>\n<p>Et voil\u00e0 ! Nous avons forc\u00e9 le plan d&#8217;ex\u00e9cution d&#8217;une requ\u00eate probl\u00e9matique.<\/p>\n<p>Le but d\u00e9sormais est plut\u00f4t de corriger la source de l&#8217;erreur de cardinalit\u00e9 car maintenir la connaissance de cette op\u00e9ration en phase d&#8217;exploitation n&#8217;est pas chose ais\u00e9e. Il vaut mieux avoir un code et un mod\u00e8le de donn\u00e9es propre plut\u00f4t que de jouer sur les for\u00e7ages de plan r\u00e9guli\u00e8rement.<\/p>\n<p>&nbsp;<\/p>\n<p>Plus d&#8217;information sur le Query Store et ses bonnes pratiques :<\/p>\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/performance\/best-practice-with-the-query-store?view=sql-server-ver15\">https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/performance\/best-practice-with-the-query-store?view=sql-server-ver15<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8983&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8983&#038;title=Query%20Store%20%3A%20bloquer%20les%20r%C3%A9gressions%20de%20plans%20d%E2%80%99ex%C3%A9cution%20et%20Capture%20Mode\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Query%20Store%20%3A%20bloquer%20les%20r%C3%A9gressions%20de%20plans%20d%E2%80%99ex%C3%A9cution%20et%20Capture%20Mode&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F8983\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>Depuis SQL Server 2016, Microsoft propose dans toutes les \u00e9ditions un outil d&#8217;analyse de performance qui peut sembler un petit peu obscure \u00e0 premier abord. Il ne remplace pas r\u00e9ellement le Data Collection, qui existe toujours, mais propose une approche&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":8996,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[221,399,302,398,122,400],"class_list":["post-8983","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sqlserver","tag-performance","tag-plan-dexecution","tag-query-store","tag-server","tag-sql","tag-subtree-cost"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Query Store : bloquer les r\u00e9gressions de plans d&#039;ex\u00e9cution et Capture Mode - Capdata TECH BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Query Store : bloquer les r\u00e9gressions de plans d&#039;ex\u00e9cution et Capture Mode - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"Depuis SQL Server 2016, Microsoft propose dans toutes les \u00e9ditions un outil d&#8217;analyse de performance qui peut sembler un petit peu obscure \u00e0 premier abord. Il ne remplace pas r\u00e9ellement le Data Collection, qui existe toujours, mais propose une approche&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2022-04-06T06:34:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-08T08:46:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/titre.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1087\" \/>\n\t<meta property=\"og:image:height\" content=\"594\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Capdata team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Capdata team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/\"},\"author\":{\"name\":\"Capdata team\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9\"},\"headline\":\"Query Store : bloquer les r\u00e9gressions de plans d&#8217;ex\u00e9cution et Capture Mode\",\"datePublished\":\"2022-04-06T06:34:25+00:00\",\"dateModified\":\"2022-04-08T08:46:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/\"},\"wordCount\":608,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"performance\",\"Plan d'ex\u00e9cution\",\"Query Store\",\"Server\",\"sql\",\"subtree cost\"],\"articleSection\":[\"SQL Server\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/\",\"name\":\"Query Store : bloquer les r\u00e9gressions de plans d'ex\u00e9cution et Capture Mode - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2022-04-06T06:34:25+00:00\",\"dateModified\":\"2022-04-08T08:46:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Query Store : bloquer les r\u00e9gressions de plans d&#8217;ex\u00e9cution et Capture Mode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9\",\"name\":\"Capdata team\",\"sameAs\":[\"https:\/\/www.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Query Store : bloquer les r\u00e9gressions de plans d'ex\u00e9cution et Capture Mode - Capdata TECH BLOG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/","og_locale":"fr_FR","og_type":"article","og_title":"Query Store : bloquer les r\u00e9gressions de plans d'ex\u00e9cution et Capture Mode - Capdata TECH BLOG","og_description":"Depuis SQL Server 2016, Microsoft propose dans toutes les \u00e9ditions un outil d&#8217;analyse de performance qui peut sembler un petit peu obscure \u00e0 premier abord. Il ne remplace pas r\u00e9ellement le Data Collection, qui existe toujours, mais propose une approche&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2022-04-06T06:34:25+00:00","article_modified_time":"2022-04-08T08:46:34+00:00","og_image":[{"width":1087,"height":594,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2022\/04\/titre.png","type":"image\/png"}],"author":"Capdata team","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Capdata team","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/"},"author":{"name":"Capdata team","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9"},"headline":"Query Store : bloquer les r\u00e9gressions de plans d&#8217;ex\u00e9cution et Capture Mode","datePublished":"2022-04-06T06:34:25+00:00","dateModified":"2022-04-08T08:46:34+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/"},"wordCount":608,"commentCount":0,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["performance","Plan d'ex\u00e9cution","Query Store","Server","sql","subtree cost"],"articleSection":["SQL Server"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/","url":"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/","name":"Query Store : bloquer les r\u00e9gressions de plans d'ex\u00e9cution et Capture Mode - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2022-04-06T06:34:25+00:00","dateModified":"2022-04-08T08:46:34+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/query-store-bloquer-les-regressions-de-plans-dexecution-et-capture-mode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"Query Store : bloquer les r\u00e9gressions de plans d&#8217;ex\u00e9cution et Capture Mode"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9","name":"Capdata team","sameAs":["https:\/\/www.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/8983","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=8983"}],"version-history":[{"count":4,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/8983\/revisions"}],"predecessor-version":[{"id":8995,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/8983\/revisions\/8995"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/8996"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=8983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=8983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=8983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}