{"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\/da\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah","title":{"rendered":"Afklaring af Key og Page WaitResource i deadlocks og l\u00e5sninger","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hvis du bruger blokkeringsrapporten (blocked process report) eller indsamler deadlock-graferne leveret af SQL Server, vil du af og til st\u00f8de p\u00e5 s\u00e5danne ting: <\/p>\n<blockquote><p>waitresource=\u201cPAGE: 6:3:70133\u201c<\/p>\n<p>waitresource=\u201cKEY: 6:72057594041991168 (ce52f92a058c)\u201c<\/p><\/blockquote>\n<p>\nNogle gange vil der v\u00e6re mere information i det enorme XML, som du studerer (deadlock-graferne indeholder en liste over ressourcer, der hj\u00e6lper med at finde navne p\u00e5 objekter og indekser), men ikke altid.<\/p>\n<p>Denne tekst vil hj\u00e6lpe dig med at afkode dem.<\/p>\n<p>Alle oplysninger, der her findes, er tilg\u00e6ngelige online p\u00e5 forskellige steder, de er bare meget spredte! Jeg vil samle alt sammen \u2014 fra DBCC PAGE til hobt_id samt de u-dokumenterede %%physloc%% og %%lockres%% funktioner.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nLad os f\u00f8rst tale om ventetider p\u00e5 PAGE-l\u00e5se, og derefter g\u00e5r vi videre til KEY-l\u00e5se.<\/p>\n<h3>1) waitresource=\u201cPAGE: 6:3:70133\u201d = Database_Id: FileId: PageNumber<\/h3>\n<p>\nHvis din foresp\u00f8rgsel venter p\u00e5 en PAGE-l\u00e5s, vil SQL Server give dig adressen p\u00e5 denne side.<\/p>\n<p>Ved at opdele \u201cPAGE: 6:3:70133\u201d f\u00e5r vi:<\/p>\n<ul>\n<li>database_id = 6<\/li>\n<li>data_file_id = 3<\/li>\n<li>page_number = 70133<\/li>\n<\/ul>\n<h4>1.1) Afd\u00e6kker database_id<\/h4>\n<p>\nLad os finde navnet p\u00e5 databasen med foresp\u00f8rgslen:<\/p>\n<pre><code class=\"sql\">SELECT \n    name \nFROM sys.databases \nWHERE database_id=6;\nGO<\/code><\/pre>\n<p>\nDette er den offentlige <noindex><a rel=\"nofollow\" href=\"https:\/\/www.littlekendra.com\/2016\/09\/13\/deadlock-code-for-the-wideworldimporters-sample-database\/\">DB WideWorldImporters<\/a><\/noindex> p\u00e5 min SQL Server.<\/p>\n<h4>1.2) S\u00f8g efter navnet p\u00e5 datafilen \u2014 hvis du er interesseret<\/h4>\n<p>\nVi vil bruge data_file_id i n\u00e6ste trin for at finde navnet p\u00e5 tabellen. Du kan bare g\u00e5 til n\u00e6ste trin, men hvis du er nysgerrig efter filnavnet, kan du finde det ved at udf\u00f8re en foresp\u00f8rgsel i sammenh\u00e6ng med den fundne DB, ved at inds\u00e6tte data_file_id i denne foresp\u00f8rgsel:<\/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>\nI DB WideWorldImporters er dette filen kaldet WWI_UserData, og den er gendannet hos mig i C:MSSQLDATAWideWorldImporters_UserData.ndf. (Ups, du fangede mig med at l\u00e6gge filer p\u00e5 disk med systemet! Nej! Det blev akavet).<\/p>\n<h4>1.3) F\u00e5 objektets navn fra DBCC PAGE<\/h4>\n<p>\nNu ved vi, at side #70133 i datafilen 3 tilh\u00f8rer DB WorldWideImporters. Vi kan se indholdet af denne side ved hj\u00e6lp af den u-dokumenterede DBCC PAGE og trace-flaget 3604.<br \/>\nBem\u00e6rk: Jeg foretr\u00e6kker at bruge DBCC PAGE p\u00e5 en gendannet kopi fra en backup et sted p\u00e5 en anden server, fordi det er en u-dokumenteret ting. I nogle tilf\u00e6lde kan det <noindex><a rel=\"nofollow\" href=\"https:\/\/connect.microsoft.com\/SQLServer\/feedback\/details\/776144\/dbcc-page-incorrect-output-with-filtered-indexes\">f\u00f8re til dannelsen af et dump.<\/a><\/noindex> (<i>note fra overs\u00e6tteren \u2014 linket f\u00f8rer desv\u00e6rre ingen steder hen, men if\u00f8lge URL'en handler det om filtered-indekser.<\/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>\nScrollende til resultaterne kan man finde object_id og index_id.<br \/>\n<img decoding=\"async\" alt=\"Afklaring af Key og Page WaitResource i deadlocks og l\u00e5sninger\" src=\"\/wp-content\/uploads\/2020\/10\/c5a42f36fb7a87cfd2e11adfef3caa17.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00e6sten klar! Nu kan du finde tabel- og indeksnavne med foresp\u00f8rgslen:<\/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>\nOg her ser vi, at ventetiden p\u00e5 blokeringen var p\u00e5 indekset PK_Sales_OrderLines i tabellen Sales.OrderLines.<\/p>\n<p>Bem\u00e6rk: I SQL Server 2014 og nyere kan objektets navn ogs\u00e5 findes ved hj\u00e6lp af den ikke-dokumenterede DMO sys.dm_db_database_page_allocations. Men du skal anmode om hver side i databasen, hvilket ikke ser s\u00e5 smart ud for store databaser, s\u00e5 jeg brugte DBCC PAGE.<\/p>\n<h4>1.4) Kan vi se dataene p\u00e5 den side, der var blokeret?<\/h4>\n<p>\nN\u00e5, ja. Men\u2026 er du sikker p\u00e5, at du virkelig har brug for det?<br \/>\nDet er langsomt, selv p\u00e5 sm\u00e5 tabeller. Men det er lidt sjovt, s\u00e5 da du er n\u00e5et til dette punkt... lad os tale om %%physloc%%!<\/p>\n<p>%%physloc%% er et ikke-dokumenteret stykke magi, der returnerer den fysiske identifikator for hver post. Du kan bruge <noindex><a rel=\"nofollow\" href=\"http:\/\/www.sqlskills.com\/blogs\/paul\/sql-server-2008-new-undocumented-physical-row-locator-function\/\">%%physloc%% sammen med sys.fn_PhysLocFormatter i SQL Server 2008 og nyere<\/a><\/noindex>.<\/p>\n<p>Nu hvor vi ved, at vi gerne ville l\u00e5se siden i Sales.OrderLines, kan vi se alle data i denne tabel, der er gemt i datafil #3 p\u00e5 side #70133, med denne foresp\u00f8rgsel:<\/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>Som jeg sagde \u2014 det er langsomt, selv p\u00e5 bittesm\u00e5 tabeller. Jeg tilf\u00f8jede NOLOCK til foresp\u00f8rgslen, fordi vi alligevel ikke har nogen garantier for, at de data, vi vil se p\u00e5, er pr\u00e6cis de samme, som de var p\u00e5 det tidspunkt, da blokeringen blev opdaget \u2014 s\u00e5 vi kan roligt lave beskidte l\u00e6sninger.<br \/>\nMen hurra, foresp\u00f8rgslen returnerer de 25 r\u00e6kker, som vores foresp\u00f8rgsel k\u00e6mpede for.<br \/>\n<img decoding=\"async\" alt=\"Afklaring af Key og Page WaitResource i deadlocks og l\u00e5sninger\" src=\"\/wp-content\/uploads\/2020\/10\/e7909bb7c496d9509e5f5a1aa30a135a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nLad os glemme PAGE-blokeringer. Hvad nu hvis vi venter p\u00e5 KEY-blokering?<\/p>\n<h3>2) waitresource=\u201cKEY: 6:72057594041991168 (ce52f92a058c)\u201d = Database_Id, HOBT_Id (et magisk hash, der kan afkodes med %%lockres%%, hvis du virkelig vil)<\/h3>\n<p>Hvis din foresp\u00f8rgsel fors\u00f8ger at l\u00e5se en post i indekset og bliver blokeret selv, f\u00e5r du en helt anden type adresse.<br \/>\nVed at opdele \u201c6:72057594041991168 (ce52f92a058c)\u201d i dele, f\u00e5r vi:<\/p>\n<ul>\n<li>database_id = 6<\/li>\n<li>hobt_id = 72057594041991168<\/li>\n<li>magisk hash = (ce52f92a058c)<\/li>\n<\/ul>\n<h4>2.1) Vi afkoder database_id<\/h4>\n<p>\nDet fungerer ligesom det foreg\u00e5ende eksempel! Vi finder databasens navn med en foresp\u00f8rgsel:<\/p>\n<pre><code class=\"sql\">SELECT \n    name \nFROM sys.databases \nWHERE database_id=6;\nGO<\/code><\/pre>\n<p>\nI mit tilf\u00e6lde er det stadig den samme <noindex><a rel=\"nofollow\" href=\"https:\/\/www.littlekendra.com\/2016\/09\/13\/deadlock-code-for-the-wideworldimporters-sample-database\/\">DB WideWorldImporters<\/a><\/noindex>.<\/p>\n<h4>2.2) Afkode hobt_id<\/h4>\n<p>\nI konteksten af den fundne database skal der udf\u00f8res en foresp\u00f8rgsel til sys.partitions med et par join, som hj\u00e6lper med at bestemme navne p\u00e5 tabellen og indekset\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>\nDen fort\u00e6ller mig, at foresp\u00f8rgslen ventede p\u00e5 en l\u00e5s af Application.Countries ved at bruge indekset PK_Application_Countries.<\/p>\n<h4>2.3) Nu lidt magi %%lockres%% \u2014 hvis du vil finde ud af, hvilken post der var l\u00e5st<\/h4>\n<p>\nHvis jeg virkelig vil finde ud af, hvilken r\u00e6kke l\u00e5sen var n\u00f8dvendig for, kan jeg finde det ved at foresp\u00f8rge tabellen selv. Vi kan bruge den uofficielle funktion %%lockres%% til at finde en post, der matcher den magiske hash.<br \/>\nV\u00e6r opm\u00e6rksom p\u00e5, at denne foresp\u00f8rgsel vil scanne hele tabellen, og p\u00e5 store tabeller kan det blive ret besv\u00e6rligt:<\/p>\n<pre><code class=\"sql\">SELECT\n    *\nFROM Application.Countries (NOLOCK)\nWHERE %%lockres%% = '(ce52f92a058c)';\nGO<\/code><\/pre>\n<p>\nJeg tilf\u00f8jede NOLOCK (<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/Aschenbrenner\/status\/788036874891853824\">efter r\u00e5d fra Klaus Aschenbrenner p\u00e5 Twitter<\/a><\/noindex>) fordi l\u00e5se kan blive et problem. Vi vil blot se, hvad der er der nu, og ikke hvad der var der, da transaktionen begyndte \u2014 jeg tror ikke, at dataintegritet er vigtig for os.<br \/>\nVoil\u00e0, posten vi k\u00e6mpede om!<br \/>\n<img decoding=\"async\" alt=\"Afklaring af Key og Page WaitResource i deadlocks og l\u00e5sninger\" src=\"\/wp-content\/uploads\/2020\/10\/4107bfa33261ea62d17f27f61b1b4c23.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Tak og videre l\u00e6sning<\/h3>\n<p>\nJeg kan ikke huske, hvem der f\u00f8rst beskrev mange af disse ting, men her er to indl\u00e6g om de mest lidt dokumenterede funktioner, som du m\u00e5ske vil finde interessante:<\/p>\n<ul>\n<li>Paul Randals indl\u00e6g om <noindex><a rel=\"nofollow\" href=\"http:\/\/www.sqlskills.com\/blogs\/paul\/sql-server-2008-new-undocumented-physical-row-locator-function\/\">%%physloc%% og sys.fn_PhysLocFormatter<\/a><\/noindex> (som vi brugte vores data til i det f\u00f8rste eksempel)<\/li>\n<li>Sp\u00f8rgsm\u00e5let p\u00e5 StackOverflow om <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\">brugen af %%lockres%%<\/a><\/noindex> (som vi fandt data i det andet eksempel). Et af svarene f\u00f8rer til indl\u00e6gget <noindex><a rel=\"nofollow\" href=\"http:\/\/www.scarydba.com\/2010\/03\/18\/undocumented-virtual-column-lockres\/\">Grant Fritchey om %%lockres%%, skrevet tilbage i 2010<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47Afklaring af Key og Page WaitResource i d\u00f8dl\u00e5se og blokeringer | ProHoster","description":"Hvis du bruger en blokering rapport (blocked process report) eller indsamler d\u00f8dl\u00e5sgrafer, der leveres af SQL Server, vil du lejlighedsvis st\u00f8de p\u00e5 s\u00e5danne ting: .","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/97702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=97702"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/97702\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/97703"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=97702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=97702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=97702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}