{"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\/ro\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah","title":{"rendered":"Decodificarea Key \u0219i Page WaitResource \u00een deadlock-uri \u0219i blocaje","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dac\u0103 utiliza\u021bi raportul de blocaje (blocked process report) sau colecta\u021bi graficele de deadlock-uri furnizate de SQL Server, periodic, ve\u021bi \u00eent\u00e2lni astfel de lucruri: <\/p>\n<blockquote><p>waitresource=\u201cPAGE: 6:3:70133\u201c<\/p>\n<p>waitresource=\u201cKEY: 6:72057594041991168 (ce52f92a058c)\u201c<\/p><\/blockquote>\n<p>\nUneori, \u00een acel XML uria\u0219 pe care \u00eel studia\u021bi, va exista mai multe informa\u021bii (graficele de deadlock con\u021bin o list\u0103 de resurse care ajut\u0103 la identificarea numelui obiectului \u0219i indexului), dar nu \u00eentotdeauna.<\/p>\n<p>Acest text v\u0103 va ajuta s\u0103 le descifra\u021bi.<\/p>\n<p>Toate informa\u021biile disponibile aici sunt disponibile pe internet \u00een diferite locuri, sunt doar foarte distribuite! Vreau s\u0103 le adun pe toate \u00eempreun\u0103 \u2014 de la DBCC PAGE la hobt_id \u0219i func\u021biile nedocumentate %%physloc%% \u0219i %%lockres%%.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nMai \u00eent\u00e2i, s\u0103 discut\u0103m despre a\u0219tept\u0103rile la bloc\u0103rile PAGE, apoi vom trece la bloc\u0103rile KEY.<\/p>\n<h3>1) waitresource=\u201cPAGE: 6:3:70133\u201d = Database_Id: FileId: PageNumber<\/h3>\n<p>\nDac\u0103 interogarea dumneavoastr\u0103 a\u0219teapt\u0103 pe o blocare PAGE, SQL Server v\u0103 va da adresa acestei pagini.<\/p>\n<p>Descompun\u00e2nd \u201ePAGE: 6:3:70133\u201d ob\u021binem:<\/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) Descifr\u0103m database_id<\/h4>\n<p>\nVom g\u0103si numele bazei de date folosind interogarea:<\/p>\n<pre><code class=\"sql\">SELECT \n    name \nFROM sys.databases \nWHERE database_id=6;\nGO<\/code><\/pre>\n<p>\nAceasta este baza de date public\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.littlekendra.com\/2016\/09\/13\/deadlock-code-for-the-wideworldimporters-sample-database\/\">WideWorldImporters<\/a><\/noindex> pe serverul meu SQL.<\/p>\n<h4>1.2) C\u0103ut\u0103m numele fi\u0219ierului de date \u2014 dac\u0103 sunte\u021bi interesat<\/h4>\n<p>\nVom folosi data_file_id \u00een urm\u0103torul pas pentru a g\u0103si numele tabelului. Pute\u021bi trece direct la urm\u0103torul pas, dar dac\u0103 sunte\u021bi interesat de numele fi\u0219ierului, \u00eel pute\u021bi g\u0103si execut\u00e2nd o interogare \u00een contextul bazei de date g\u0103site, substituind data_file_id \u00een aceast\u0103 interogare:<\/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>\n\u00cen baza de date WideWorldImporters, acesta este un fi\u0219ier numit WWI_UserData \u0219i este restaurat pe C:MSSQLDATAWideWorldImporters_UserData.ndf. (Ups, m-a\u021bi prins c\u0103 bag fi\u0219iere pe disc cu sistemul! Nu! A fost st\u00e2njenitor).<\/p>\n<h4>1.3) Ob\u021binem numele obiectului din DBCC PAGE<\/h4>\n<p>\nAcum \u0219tim c\u0103 pagina #70133 din fi\u0219ierul de date 3 apar\u021bine bazei de date WorldWideImporters. Putem vizualiza con\u021binutul acestei pagini utiliz\u00e2nd DBCC PAGE nedocumentat \u0219i trace flag 3604.<br \/>\nNot\u0103: Prefer s\u0103 folosesc DBCC PAGE pe o copie restaurat\u0103 din backup pe un alt server, deoarece aceasta este o func\u021bie nedocumentat\u0103. \u00cen unele cazuri, aceasta <noindex><a rel=\"nofollow\" href=\"https:\/\/connect.microsoft.com\/SQLServer\/feedback\/details\/776144\/dbcc-page-incorrect-output-with-filtered-indexes\">poate conduce la crearea unui dump<\/a><\/noindex> (<i>not\u0103 a traduc\u0103torului \u2014 din p\u0103cate, linkul duce nic\u0103ieri, dar conform url-ului, se refer\u0103 la indec\u0219i filtra\u021bi.<\/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>\nD\u00e2nd scroll la rezultate, se poate g\u0103si object_id \u0219i index_id.<br \/>\n<img decoding=\"async\" alt=\"Decodificarea Key \u0219i Page WaitResource \u00een deadlock-uri \u0219i blocaje\" src=\"\/wp-content\/uploads\/2020\/10\/c5a42f36fb7a87cfd2e11adfef3caa17.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nGata aproape! Acum putem g\u0103si numele tabelului \u0219i indexului folosind interogarea:<\/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>\n\u0218i iat\u0103 c\u0103 vedem c\u0103 a\u0219teptarea pe blocare a fost pe indexul PK_Sales_OrderLines al tabelului Sales.OrderLines.<\/p>\n<p>Not\u0103: \u00een SQL Server 2014 \u0219i versiuni ulterioare, numele obiectului poate fi g\u0103sit \u0219i prin DMO nedocumentat sys.dm_db_database_page_allocations. Dar va trebui s\u0103 solicita\u021bi fiecare pagin\u0103 din baza de date, ceea ce nu arat\u0103 prea elegant pentru baze de date mari, a\u0219a c\u0103 am folosit DBCC PAGE.<\/p>\n<h4>1.4) Dar se poate vedea datele de pe pagina care a fost blocat\u0103?<\/h4>\n<p>\nBine, da. Dar\u2026 sunte\u021bi sigur c\u0103 ave\u021bi nevoie de asta?<br \/>\nEste lent chiar \u0219i pe tabele mici. Dar este oarecum interesant, a\u0219a c\u0103, dac\u0103 a\u021bi citit p\u00e2n\u0103 aici\u2026 s\u0103 vorbim despre %%physloc%%!<\/p>\n<p>%%physloc%% este un fragment de magie nedocumentat care returneaz\u0103 identificatorul fizic pentru fiecare \u00eenregistrare. Pute\u021bi folosi <noindex><a rel=\"nofollow\" href=\"http:\/\/www.sqlskills.com\/blogs\/paul\/sql-server-2008-new-undocumented-physical-row-locator-function\/\">%%physloc%% \u00eempreun\u0103 cu sys.fn_PhysLocFormatter \u00een SQL Server 2008 \u0219i versiuni ulterioare<\/a><\/noindex>.<\/p>\n<p>Acum, c\u00e2nd \u0219tim c\u0103 am vrut s\u0103 aplic\u0103m o blocare pe pagina din Sales.OrderLines, putem vizualiza toate datele din acest tabel, care sunt stocate \u00een fi\u0219ierul de date #3 pe pagina #70133, folosind urm\u0103toarea interogare:<\/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>A\u0219a cum am men\u021bionat \u2014 este lent chiar \u0219i pe tabele mici. Am ad\u0103ugat NOLOCK la interogare pentru c\u0103 oricum nu avem nicio garan\u021bie c\u0103 datele pe care vrem s\u0103 le vedem sunt exact acelea\u0219i pe c\u00e2nd s-a descoperit blocarea \u2014 a\u0219a c\u0103 putem face citiri murdare f\u0103r\u0103 probleme.<br \/>\nDar, urmeaz\u0103, interogarea \u00eemi returneaz\u0103 exact cele 25 de r\u00e2nduri pentru care interogarea noastr\u0103 a luptat<br \/>\n<img decoding=\"async\" alt=\"Decodificarea Key \u0219i Page WaitResource \u00een deadlock-uri \u0219i blocaje\" src=\"\/wp-content\/uploads\/2020\/10\/e7909bb7c496d9509e5f5a1aa30a135a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nS\u0103 vorbim despre bloc\u0103rile PAGE. Ce s-ar \u00eent\u00e2mpla dac\u0103 a\u0219tept\u0103m o blocare KEY?<\/p>\n<h3>2) waitresource=\u201cKEY: 6:72057594041991168 (ce52f92a058c)\u201d = Database_Id, HOBT_Id (hash-ul magic, care poate fi decriptat cu %%lockres%%, dac\u0103 chiar vrei asta)<\/h3>\n<p>Dac\u0103 interogarea ta \u00eencearc\u0103 s\u0103 aplice o blocare pe o \u00eenregistrare din index \u0219i ajunge s\u0103 fie blocat\u0103, ob\u021bii un alt tip de adres\u0103.<br \/>\nDespic\u00e2nd \u201c6:72057594041991168 (ce52f92a058c)\u201d \u00een p\u0103r\u021bi, ob\u021binem:<\/p>\n<ul>\n<li>database_id = 6<\/li>\n<li>hobt_id = 72057594041991168<\/li>\n<li>hash-ul magic = (ce52f92a058c)<\/li>\n<\/ul>\n<h4>2.1) Decript\u0103m database_id<\/h4>\n<p>\nFunc\u021bioneaz\u0103 exact la fel ca \u00een exemplul de mai sus! G\u0103sim numele Bazei de Date folosind o interogare:<\/p>\n<pre><code class=\"sql\">SELECT \n    name \nFROM sys.databases \nWHERE database_id=6;\nGO<\/code><\/pre>\n<p>\n\u00cen cazul meu, este tot aceea\u0219i <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) Decod\u0103m hobt_id<\/h4>\n<p>\n\u00cen contextul bazei de date g\u0103site, trebuie s\u0103 execut\u0103m o interogare la sys.partitions cu o pereche de join-uri, care vor ajuta la determinarea numelui tabelului \u0219i al indexului\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>\n\u00cemi spune c\u0103 interogarea a a\u0219teptat pe blocarea Application.Countries, folosind indexul PK_Application_Countries.<\/p>\n<h4>2.3) Acum pu\u021bin\u0103 magie %%lockres%% \u2014 dac\u0103 dori\u021bi s\u0103 descoperi\u021bi ce \u00eenregistrare a fost blocat\u0103<\/h4>\n<p>\nDac\u0103 vreau cu adev\u0103rat s\u0103 aflu pe ce r\u00e2nd a fost necesar\u0103 blocarea, pot descoperi acest lucru printr-o interogare la tabelul \u00een sine. Putem folosi func\u021bia nedocumentat\u0103 %%lockres%% pentru a g\u0103si \u00eenregistrarea care se potrive\u0219te cu hash-ul magic.<br \/>\nRe\u021bine\u021bi c\u0103 aceast\u0103 interogare va scana \u00eentreg tabelul, \u0219i pe tabele mari, acest lucru poate fi destul de problematic:<\/p>\n<pre><code class=\"sql\">SELECT\n    *\nFROM Application.Countries (NOLOCK)\nWHERE %%lockres%% = '(ce52f92a058c)';\nGO<\/code><\/pre>\n<p>\nAm ad\u0103ugat NOLOCK (<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/Aschenbrenner\/status\/788036874891853824\">la sugestia lui Klaus Aschenbrenner pe Twitter<\/a><\/noindex>) pentru c\u0103 bloc\u0103rile pot deveni o problem\u0103. Vrem doar s\u0103 vedem ce este acolo acum, nu ce a fost c\u00e2nd a \u00eenceput tranzac\u021bia \u2014 nu cred c\u0103 ne intereseaz\u0103 consisten\u021ba datelor.<br \/>\nUite, \u00eenregistrarea pentru care am luptat!<br \/>\n<img decoding=\"async\" alt=\"Decodificarea Key \u0219i Page WaitResource \u00een deadlock-uri \u0219i blocaje\" src=\"\/wp-content\/uploads\/2020\/10\/4107bfa33261ea62d17f27f61b1b4c23.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Mul\u021bumiri \u0219i lecturi suplimentare<\/h3>\n<p>\nNu-mi amintesc cine a descris prima dat\u0103 multe dintre aceste lucruri, dar iat\u0103 dou\u0103 post\u0103ri despre cele mai pu\u021bin documentate tehnici, care s-ar putea s\u0103-\u021bi plac\u0103:<\/p>\n<ul>\n<li>Postarea lui Paul Randal despre <noindex><a rel=\"nofollow\" href=\"http:\/\/www.sqlskills.com\/blogs\/paul\/sql-server-2008-new-undocumented-physical-row-locator-function\/\">%%physloc%% \u0219i sys.fn_PhysLocFormatter<\/a><\/noindex> (a\u0219a cum am ob\u021binut datele noastre \u00een primul exemplu)<\/li>\n<li>O \u00eentrebare pe StackOverflow despre <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\">utilizarea %%lockres%%<\/a><\/noindex> (a\u0219a cum am g\u0103sit datele \u00een al doilea exemplu). Unul dintre r\u0103spunsuri duce la postarea <noindex><a rel=\"nofollow\" href=\"http:\/\/www.scarydba.com\/2010\/03\/18\/undocumented-virtual-column-lockres\/\">Grant Fritchey despre %%lockres%%, scris\u0103 \u00eenc\u0103 din 2010<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>Sursa: <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.1 - 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\/ro\/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.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Decodific\u0103m Key \u0219i Page WaitResource \u00een deadlock-uri \u0219i blocaje | ProHoster","description":"Dac\u0103 folosi\u021bi raportul despre blocaje (blocked process report) sau colecta\u021bi graficele de deadlock-uri, furnizate de SQL Server, din c\u00e2nd \u00een c\u00e2nd, ve\u021bi \u00eent\u00e2lni astfel de lucruri: .","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/rasshifrovyvaem-key-i-page-waitresource-v-dedlokah-i-blokirovkah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/97702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=97702"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/97702\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/97703"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=97702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=97702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=97702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}