{"id":97702,"date":"2020-10-20T20:42:28","date_gmt":"2020-10-20T18:42:28","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah"},"modified":"2020-10-20T20:42:28","modified_gmt":"2020-10-20T18:42:28","slug":"rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah","title":{"rendered":"D\u00e9cryptage des Key et Page WaitResource dans les blocages et deadlocks","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Si vous utilisez le rapport sur les blocages (blocked process report) ou collectez les graphiques de blocage fournis par SQL Server, vous serez p\u00e9riodiquement confront\u00e9 \u00e0 des \u00e9l\u00e9ments comme ceux-ci : <\/p>\n<blockquote><p>waitresource=\"PAGE: 6:3:70133\"<\/p>\n<p>waitresource=\"KEY: 6:72057594041991168 (ce52f92a058c)\"<\/p><\/blockquote>\n<p>\nParfois, dans ce gigantesque XML que vous \u00e9tudiez, il y aura plus d'informations (les graphiques de blocage contiennent une liste de ressources qui aide \u00e0 identifier les noms des objets et des index), mais ce n'est pas toujours le cas.<\/p>\n<p>Ce texte vous aidera \u00e0 les d\u00e9coder.<\/p>\n<p>Toutes les informations pr\u00e9sentes ici sont sur Internet \u00e0 divers endroits, elles sont simplement tr\u00e8s dispers\u00e9es ! Je veux rassembler tout cela - de DBCC PAGE \u00e0 hobt_id et aux fonctions non document\u00e9es %%physloc%% et %%lockres%%.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nD'abord, parlons des attentes sur les blocages PAGE, puis passons aux blocages KEY.<\/p>\n<h3>1) waitresource=\"PAGE: 6:3:70133\" = Database_Id: FileId: PageNumber<\/h3>\n<p>\nSi votre requ\u00eate attend un blocage PAGE, SQL Server vous donnera l'adresse de cette page.<\/p>\n<p>En d\u00e9composant \u00abPAGE: 6:3:70133\u00bb, nous obtenons :<\/p>\n<ul>\n<li>database_id = 6<\/li>\n<li>data_file_id = 3<\/li>\n<li>page_numer = 70133<\/li>\n<\/ul>\n<h4>1.1) D\u00e9codons database_id<\/h4>\n<p>\nTrouvons le nom de la base de donn\u00e9es avec la requ\u00eate :<\/p>\n<pre><code class=\"sql\">SELECT \n    name \nFROM sys.databases \nWHERE database_id=6;\nGO<\/code><\/pre>\n<p>\nC'est une base de donn\u00e9es publique <noindex><a rel=\"nofollow\" href=\"https:\/\/www.littlekendra.com\/2016\/09\/13\/deadlock-code-for-the-wideworldimporters-sample-database\/\">WideWorldImporters<\/a><\/noindex> sur mon SQL Server.<\/p>\n<h4>1.2) Recherche du nom du fichier de donn\u00e9es - si cela vous int\u00e9resse<\/h4>\n<p>\nNous allons utiliser data_file_id \u00e0 l'\u00e9tape suivante pour trouver le nom de la table. Vous pouvez simplement passer \u00e0 l'\u00e9tape suivante, mais si vous \u00eates int\u00e9ress\u00e9 par le nom du fichier, vous pouvez le trouver en ex\u00e9cutant une requ\u00eate dans le contexte de la base de donn\u00e9es trouv\u00e9e, en substituant data_file_id dans cette requ\u00eate :<\/p>\n<pre><code class=\"sql\">USE WideWorldImporters;\nGO\nSELECT \n    name, \n    physical_name\nFROM sys.database_files\nWHERE file_id = 3;\nGO<\/code><\/pre>\n<p>\nDans la base de donn\u00e9es WideWorldImporters, ce fichier est nomm\u00e9 WWI_UserData et il est restaur\u00e9 chez moi dans C:MSSQLDATAWideWorldImporters_UserData.ndf. (Oups, vous m'avez pris en train de mettre des fichiers sur un disque syst\u00e8me ! Non ! \u00c7a a mal tourn\u00e9).<\/p>\n<h4>1.3) Obtenir le nom de l'objet \u00e0 partir de DBCC PAGE<\/h4>\n<p>\nMaintenant, nous savons que la page #70133 dans le fichier de donn\u00e9es 3 appartient \u00e0 la base de donn\u00e9es WorldWideImporters. Nous pouvons examiner le contenu de cette page en utilisant DBCC PAGE non document\u00e9 et le trace flag 3604.<br \/>\nRemarque : je pr\u00e9f\u00e8re utiliser DBCC PAGE sur une copie r\u00e9cup\u00e9r\u00e9e \u00e0 partir d'une sauvegarde quelque part sur un autre serveur, car c'est une chose non document\u00e9e. Dans certains cas, cela peut <noindex><a rel=\"nofollow\" href=\"https:\/\/connect.microsoft.com\/SQLServer\/feedback\/details\/776144\/dbcc-page-incorrect-output-with-filtered-indexes\">entra\u00eener la cr\u00e9ation d'un dump<\/a><\/noindex> (<i>Note du traducteur - le lien m\u00e8ne malheureusement nulle part, mais d'apr\u00e8s l'url, il s'agit d'index filtr\u00e9s<\/i>).<\/p>\n<pre><code class=\"sql\">\/* This trace flag makes DBCC PAGE output go to our Messages tab\ninstead of the SQL Server Error Log file *\/\nDBCC TRACEON (3604);\nGO\n\/* DBCC PAGE (DatabaseName, FileNumber, PageNumber, DumpStyle)*\/\nDBCC PAGE ('WideWorldImporters',3,70133,2);\nGO<\/code><\/pre>\n<p>\nEn consultant les r\u00e9sultats, on peut trouver object_id et index_id.<br \/>\n<img decoding=\"async\" alt=\"D\u00e9cryptage des Key et Page WaitResource dans les blocages et deadlocks\" src=\"\/wp-content\/uploads\/2020\/10\/c5a42f36fb7a87cfd2e11adfef3caa17.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPresque pr\u00eat ! Vous pouvez maintenant trouver les noms de table et d'index \u00e0 l'aide de la requ\u00eate :<\/p>\n<pre><code class=\"sql\">USE WideWorldImporters;\nGO\nSELECT \n    sc.name as schema_name, \n    so.name as object_name, \n    si.name as index_name\nFROM sys.objects as so \nJOIN sys.indexes as si on \n    so.object_id=si.object_id\nJOIN sys.schemas AS sc on \n    so.schema_id=sc.schema_id\nWHERE \n    so.object_id = 94623380\n    and si.index_id = 1;\nGO<\/code><\/pre>\n<p>\nEt nous pouvons voir que l'attente sur le verrou \u00e9tait sur l'index PK_Sales_OrderLines de la table Sales.OrderLines.<\/p>\n<p>Remarque : dans SQL Server 2014 et version ult\u00e9rieure, le nom de l'objet peut \u00e9galement \u00eatre trouv\u00e9 \u00e0 l'aide de la DMO non document\u00e9e sys.dm_db_database_page_allocations. Mais vous devrez interroger chaque page dans la base de donn\u00e9es, ce qui n'est pas tr\u00e8s \u00e9l\u00e9gant pour les grandes bases de donn\u00e9es, c'est pourquoi j'ai utilis\u00e9 DBCC PAGE.<\/p>\n<h4>1.4) Peut-on voir les donn\u00e9es \u00e0 la page qui a \u00e9t\u00e9 verrouill\u00e9e ?<\/h4>\n<p>\nEh bien, oui. Mais\u2026 \u00eates-vous s\u00fbrs que c\u2019est vraiment ce dont vous avez besoin ?<br \/>\nC'est lent m\u00eame sur de petites tables. Mais c'est plut\u00f4t amusant, donc, puisque vous avez lu jusqu'ici\u2026 parlons de %%physloc%% !<\/p>\n<p>%%physloc%% est un morceau non document\u00e9 de magie qui retourne l'identifiant physique pour chaque enregistrement. Vous pouvez utiliser <noindex><a rel=\"nofollow\" href=\"http:\/\/www.sqlskills.com\/blogs\/paul\/sql-server-2008-new-undocumented-physical-row-locator-function\/\">%%physloc%% avec sys.fn_PhysLocFormatter dans SQL Server 2008 et version ult\u00e9rieure<\/a><\/noindex>.<\/p>\n<p>Maintenant que nous savons que nous voulions verrouiller la page dans Sales.OrderLines, nous pouvons voir toutes les donn\u00e9es dans cette table, qui sont stock\u00e9es dans le fichier de donn\u00e9es #3 \u00e0 la page #70133, \u00e0 l'aide de cette requ\u00eate :<\/p>\n<pre><code class=\"sql\">Use WideWorldImporters;\nGO\nSELECT \n    sys.fn_PhysLocFormatter (%%physloc%%),\n    *\nFROM Sales.OrderLines (NOLOCK)\nWHERE sys.fn_PhysLocFormatter (%%physloc%%) like '(3:70133%'\nGO<\/code><\/pre>\n<p>Comme je l'ai dit, c'est lent m\u00eame sur de minuscules tables. J'ai ajout\u00e9 NOLOCK \u00e0 la requ\u00eate car nous n'avons de toute fa\u00e7on aucune garantie que les donn\u00e9es sur lesquelles nous voulons jeter un coup d'\u0153il sont exactement les m\u00eames que celles qui \u00e9taient pr\u00e9sentes au moment o\u00f9 le verrou a \u00e9t\u00e9 d\u00e9couvert \u2014 donc nous pouvons faire des lectures non fiables.<br \/>\nMais, hourra, la requ\u00eate me retourne ces 25 lignes pour lesquelles notre requ\u00eate a lutt\u00e9.<br \/>\n<img decoding=\"async\" alt=\"D\u00e9cryptage des Key et Page WaitResource dans les blocages et deadlocks\" src=\"\/wp-content\/uploads\/2020\/10\/e7909bb7c496d9509e5f5a1aa30a135a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAssez parl\u00e9 des verrous PAGE. Que se passe-t-il si nous attendons un verrou KEY ?<\/p>\n<h3>2) waitresource=\u201cKEY: 6:72057594041991168 (ce52f92a058c)\u201d = Database_Id, HOBT_Id (le hachage magique qui peut \u00eatre d\u00e9chiffr\u00e9 \u00e0 l'aide de %%lockres%%, si vous le souhaitez vraiment)<\/h3>\n<p>Si votre requ\u00eate tente de verrouiller une ligne dans l'index et se retrouve elle-m\u00eame bloqu\u00e9e, vous obtenez un type d'adresse compl\u00e8tement diff\u00e9rent.<br \/>\nEn d\u00e9composant \u201c6:72057594041991168 (ce52f92a058c)\u201d en parties, nous obtenons :<\/p>\n<ul>\n<li>database_id = 6<\/li>\n<li>hobt_id = 72057594041991168<\/li>\n<li>hachage magique = (ce52f92a058c)<\/li>\n<\/ul>\n<h4>2.1) D\u00e9chiffrons database_id<\/h4>\n<p>\nCela fonctionne exactement de la m\u00eame fa\u00e7on que dans l'exemple ci-dessus ! Trouvons le nom de la base de donn\u00e9es gr\u00e2ce \u00e0 la requ\u00eate :<\/p>\n<pre><code class=\"sql\">SELECT \n    name \nFROM sys.databases \nWHERE database_id=6;\nGO<\/code><\/pre>\n<p>\nDans mon cas, c'est toujours la m\u00eame <noindex><a rel=\"nofollow\" href=\"https:\/\/www.littlekendra.com\/2016\/09\/13\/deadlock-code-for-the-wideworldimporters-sample-database\/\">WideWorldImporters<\/a><\/noindex>.<\/p>\n<h4>2.2) D\u00e9chiffrons hobt_id<\/h4>\n<p>\nDans le contexte de la base de donn\u00e9es trouv\u00e9e, il faut ex\u00e9cuter une requ\u00eate \u00e0 sys.partitions avec quelques jointures qui aideront \u00e0 d\u00e9terminer les noms de la table et de l'index\u2026<\/p>\n<pre><code class=\"sql\">USE WideWorldImporters;\nGO\nSELECT \n    sc.name as schema_name, \n    so.name as object_name, \n    si.name as index_name\nFROM sys.partitions AS p\nJOIN sys.objects as so on \n    p.object_id=so.object_id\nJOIN sys.indexes as si on \n    p.index_id=si.index_id and \n    p.object_id=si.object_id\nJOIN sys.schemas AS sc on \n    so.schema_id=sc.schema_id\nWHERE hobt_id = 72057594041991168;\nGO<\/code><\/pre>\n<p>\nIl me dit que la requ\u00eate \u00e9tait en attente sur le verrou Application.Countries, utilisant l'index PK_Application_Countries.<\/p>\n<h4>2.3) Maintenant un peu de magie %%lockres%% \u2014 si vous voulez d\u00e9terminer quel enregistrement a \u00e9t\u00e9 verrouill\u00e9<\/h4>\n<p>\nSi je veux vraiment savoir sur quelle ligne le verrou \u00e9tait n\u00e9cessaire, je peux le d\u00e9couvrir gr\u00e2ce \u00e0 une requ\u00eate sur la table elle-m\u00eame. Nous pouvons utiliser la fonction non document\u00e9e %%lockres%% pour trouver l'enregistrement correspondant au hash magique.<br \/>\nNotez que cette requ\u00eate va scanner toute la table, et sur de grandes tables, cela peut ne pas \u00eatre tr\u00e8s agr\u00e9able :<\/p>\n<pre><code class=\"sql\">SELECT\n    *\nFROM Application.Countries (NOLOCK)\nWHERE %%lockres%% = '(ce52f92a058c)';\nGO<\/code><\/pre>\n<p>\nJ'ai ajout\u00e9 NOLOCK (<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/Aschenbrenner\/status\/788036874891853824\">sur les conseils de Klaus Aschenbrenner sur Twitter<\/a><\/noindex>) car les verrous peuvent devenir un probl\u00e8me. Nous voulons juste jeter un \u0153il \u00e0 ce qu'il y a maintenant, et non \u00e0 ce qu'il y avait quand la transaction a commenc\u00e9 \u2014 je ne pense pas que la coh\u00e9rence des donn\u00e9es nous importe.<br \/>\nVoil\u00e0, l'enregistrement pour lequel nous nous sommes battus !<br \/>\n<img decoding=\"async\" alt=\"D\u00e9cryptage des Key et Page WaitResource dans les blocages et deadlocks\" src=\"\/wp-content\/uploads\/2020\/10\/4107bfa33261ea62d17f27f61b1b4c23.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Remerciements et lectures suppl\u00e9mentaires<\/h3>\n<p>\nJe ne me souviens pas qui a d\u00e9crit pour la premi\u00e8re fois beaucoup de ces choses, mais voici deux articles sur les \u00e9l\u00e9ments les moins document\u00e9s que vous pourriez appr\u00e9cier :<\/p>\n<ul>\n<li>Article de Paul Randal sur <noindex><a rel=\"nofollow\" href=\"http:\/\/www.sqlskills.com\/blogs\/paul\/sql-server-2008-new-undocumented-physical-row-locator-function\/\">%%physloc%% et sys.fn_PhysLocFormatter<\/a><\/noindex> (comme nous l'avons fait avec nos donn\u00e9es dans le premier exemple)<\/li>\n<li>Question sur StackOverflow concernant <noindex><a rel=\"nofollow\" href=\"https:\/\/dba.stackexchange.com\/questions\/106762\/how-can-i-convert-a-key-in-a-sql-server-deadlock-report-to-the-value\">l'utilisation de %%lockres%%<\/a><\/noindex> (comme nous avons trouv\u00e9 les donn\u00e9es dans le deuxi\u00e8me exemple). L'une des r\u00e9ponses m\u00e8ne \u00e0 un article <noindex><a rel=\"nofollow\" href=\"http:\/\/www.scarydba.com\/2010\/03\/18\/undocumented-virtual-column-lockres\/\">de Grant Fritchey sur %%lockres%%, \u00e9crit en 2010<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/524098\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435\u0441\u044c \u043e\u0442\u0447\u0451\u0442\u043e\u043c \u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u0445 (blocked process report) \u0438\u043b\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 \u0433\u0440\u0430\u0444\u044b \u0434\u0435\u0434\u043b\u043e\u043a\u043e\u0432, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 SQL Server&#8217;\u043e\u043c, \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438, \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u043c\u0438 \u0448\u0442\u0443\u043a\u0430\u043c\u0438: waitresource=\u201cPAGE: 6:3:70133\u201c waitresource=\u201cKEY: 6:72057594041991168 (ce52f92a058c)\u201c \u0418\u043d\u043e\u0433\u0434\u0430, \u0432 \u0442\u043e\u043c \u0433\u0438\u0433\u0430\u043d\u0442\u0441\u043a\u043e\u043c XML, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0438\u0437\u0443\u0447\u0430\u0435\u0442\u0435, \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 (\u0433\u0440\u0430\u0444\u044b \u0434\u0435\u0434\u043b\u043e\u043a\u043e\u0432 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0443\u0437\u043d\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430), \u043d\u043e \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":97703,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-97702","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435\u0441\u044c \u043e\u0442\u0447\u0451\u0442\u043e\u043c \u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u0445 (blocked process report) \u0438\u043b\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 \u0433\u0440\u0430\u0444\u044b \u0434\u0435\u0434\u043b\u043e\u043a\u043e\u0432, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 SQL Server&#039;\u043e\u043c, \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438, \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u043c\u0438 \u0448\u0442\u0443\u043a\u0430\u043c\u0438: .\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u043c Key \u0438 Page WaitResource \u0432 \u0434\u0435\u0434\u043b\u043e\u043a\u0430\u0445 \u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435\u0441\u044c \u043e\u0442\u0447\u0451\u0442\u043e\u043c \u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u0445 (blocked process report) \u0438\u043b\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 \u0433\u0440\u0430\u0444\u044b \u0434\u0435\u0434\u043b\u043e\u043a\u043e\u0432, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 SQL Server&#039;\u043e\u043c, \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438, \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u043c\u0438 \u0448\u0442\u0443\u043a\u0430\u043c\u0438: .\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-20T18:42:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-20T18:42:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47D\u00e9chiffrons Key et Page WaitResource dans les deadlocks et blocages | ProHoster","description":"Si vous utilisez un rapport sur les blocages (blocked process report) ou collectez les graphiques de deadlocks fournis par SQL Server de temps en temps, vous serez confront\u00e9 \u00e0 ce genre de choses : .","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u043c Key \u0438 Page WaitResource \u0432 \u0434\u0435\u0434\u043b\u043e\u043a\u0430\u0445 \u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u0445 | ProHoster","og:description":"\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435\u0441\u044c \u043e\u0442\u0447\u0451\u0442\u043e\u043c \u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u0445 (blocked process report) \u0438\u043b\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 \u0433\u0440\u0430\u0444\u044b \u0434\u0435\u0434\u043b\u043e\u043a\u043e\u0432, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 SQL Server'\u043e\u043c, \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438, \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u0432\u043e\u0442 \u0442\u0430\u043a\u0438\u043c\u0438 \u0448\u0442\u0443\u043a\u0430\u043c\u0438: .","og:url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-20T18:42:28+00:00","article:modified_time":"2020-10-20T18:42:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"97702","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:15:26","updated":"2022-10-03 07:13:25","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/97702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=97702"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/97702\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/97703"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=97702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=97702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=97702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}