{"id":3127,"date":"2024-06-05T10:22:57","date_gmt":"2024-06-05T13:22:57","guid":{"rendered":"https:\/\/powertuning.com.br\/?p=3127"},"modified":"2024-06-07T14:22:32","modified_gmt":"2024-06-07T17:22:32","slug":"azure-sql-copilot-01-identificando-locks-no-bd-apenas-perguntando-ao-copilot","status":"publish","type":"post","link":"https:\/\/powertuning.com.br\/blog\/azure-sql-copilot-01-identificando-locks-no-bd-apenas-perguntando-ao-copilot\/","title":{"rendered":"Azure SQL Copilot \u2022 Identificando Locks no BD apenas perguntando ao Copilot"},"content":{"rendered":"<p>Fala Pessoal,<\/p>\n<p>Hoje vou iniciar uma s\u00e9rie onde devo mostrar bastante coisa legal do\u00a0<strong>Copilot para SQL<\/strong>\u00a0que temos no Azure.<\/p>\n<p>Estou participando do Preview do Copilot para Azure SQL Database e dando feedbacks ao time de produto dos resultados que encontro.<\/p>\n<p>Ent\u00e3o vamos aos primeiros testes\u2026<\/p>\n<p>Lock e CPU alta s\u00e3o respons\u00e1veis pela maioria das lentid\u00f5es que vemos no dia a dia nos clientes.<\/p>\n<p>Nesse artivo vou simular um lock e ver se o Copilot me ajuda na identifica\u00e7\u00e3o.<\/p>\n<p>Gerei um lock em uma base de dados de teste e perguntei ao Copilot:\u00a0<strong>Eu tenho problema de performance na minha base de dados?<\/strong><\/p>\n<p>Ele me respondeu que o uso de CPU estava bem baixo, mas me avisou que eu tinha sim Lock no banco:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19526 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/pergunta-pergormance-copilot-300x291.png\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" srcset=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/pergunta-pergormance-copilot-300x291.png 300w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/pergunta-pergormance-copilot-410x397.png 410w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/pergunta-pergormance-copilot-100x97.png 100w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/pergunta-pergormance-copilot-275x267.png 275w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/pergunta-pergormance-copilot-20x20.png 20w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/pergunta-pergormance-copilot.png 584w\" alt=\"\" width=\"498\" height=\"483\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Top demais em?<\/p>\n<p>Sem logar no SSMS ou rodar qualquer query pegamos quem est\u00e1 bloqueando quem e ele retorna inclusive a query envolvida no processo.<\/p>\n<p>Esse \u00e9 o lock que gerei para teste:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19527 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/simulacao-de-lock-300x72.png\" sizes=\"auto, (max-width: 496px) 100vw, 496px\" srcset=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/simulacao-de-lock-300x72.png 300w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/simulacao-de-lock-768x185.png 768w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/simulacao-de-lock-700x169.png 700w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/simulacao-de-lock-410x99.png 410w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/simulacao-de-lock-100x24.png 100w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/simulacao-de-lock-275x66.png 275w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/simulacao-de-lock-20x5.png 20w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/simulacao-de-lock.png 841w\" alt=\"\" width=\"496\" height=\"119\" \/><\/p>\n<p>S\u00f3 isso a\u00ed j\u00e1 seria de uma baita ajuda principalmente para quem n\u00e3o sabe realizar esse tipo de valida\u00e7\u00e3o no SQL Server.<\/p>\n<p>&nbsp;<\/p>\n<p>Perguntando se existe um problema de performance, ele deu uma resposta certeira. Demora uns 30-40 segundos para ele responder mais ou menos.<\/p>\n<p>Contudo, ao perguntar diretamente sobre lock, ele se perdeu um pouco conforme abaixo.<\/p>\n<p>Gerei uma nova cadeia de Lock:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-19538 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/valores-corretos-300x71.png\" sizes=\"auto, (max-width: 643px) 100vw, 643px\" srcset=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/valores-corretos-300x71.png 300w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/valores-corretos-768x181.png 768w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/valores-corretos-700x165.png 700w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/valores-corretos-410x97.png 410w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/valores-corretos-100x24.png 100w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/valores-corretos-275x65.png 275w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/valores-corretos-20x5.png 20w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/valores-corretos.png 927w\" alt=\"\" width=\"643\" height=\"152\" \/><\/p>\n<p>Ao perguntar se tinha um problema de lock acontecendo ele entendeu deadlock:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19536 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/tenho-um-problema-de-lock-300x147.png\" sizes=\"auto, (max-width: 410px) 100vw, 410px\" srcset=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/tenho-um-problema-de-lock-300x147.png 300w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/tenho-um-problema-de-lock-410x200.png 410w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/tenho-um-problema-de-lock-100x49.png 100w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/tenho-um-problema-de-lock-275x134.png 275w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/tenho-um-problema-de-lock-20x10.png 20w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/tenho-um-problema-de-lock.png 530w\" alt=\"\" width=\"410\" height=\"201\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Perguntei se tinha algum processo com wait de lock e nada tamb\u00e9m:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-19530 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/do-i-have-a-update-lock-on-my-database-300x292.png\" sizes=\"auto, (max-width: 368px) 100vw, 368px\" srcset=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/do-i-have-a-update-lock-on-my-database-300x292.png 300w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/do-i-have-a-update-lock-on-my-database-410x400.png 410w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/do-i-have-a-update-lock-on-my-database-100x97.png 100w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/do-i-have-a-update-lock-on-my-database-275x268.png 275w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/do-i-have-a-update-lock-on-my-database-20x20.png 20w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/do-i-have-a-update-lock-on-my-database.png 550w\" alt=\"\" width=\"368\" height=\"358\" \/><\/p>\n<p>Perguntei se tinha algum lock de update na minha database e ele entendeu deadlock de novo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19537 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/update-lock-300x137.png\" sizes=\"auto, (max-width: 339px) 100vw, 339px\" srcset=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/update-lock-300x137.png 300w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/update-lock-410x187.png 410w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/update-lock-100x46.png 100w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/update-lock-275x126.png 275w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/update-lock-20x9.png 20w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/update-lock.png 547w\" alt=\"\" width=\"339\" height=\"155\" \/><\/p>\n<p>Quando perguntei se tinha lock na tabela que estava sofrendo lock, finalmente ele achou e me retornou:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-19539 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/colocando-a-tabela-que-ta-acontecendo-o-lock-ele-encontrou-172x300.png\" sizes=\"auto, (max-width: 260px) 100vw, 260px\" srcset=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/colocando-a-tabela-que-ta-acontecendo-o-lock-ele-encontrou-172x300.png 172w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/colocando-a-tabela-que-ta-acontecendo-o-lock-ele-encontrou-410x715.png 410w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/colocando-a-tabela-que-ta-acontecendo-o-lock-ele-encontrou-100x174.png 100w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/colocando-a-tabela-que-ta-acontecendo-o-lock-ele-encontrou-275x480.png 275w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/colocando-a-tabela-que-ta-acontecendo-o-lock-ele-encontrou-11x20.png 11w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/colocando-a-tabela-que-ta-acontecendo-o-lock-ele-encontrou.png 472w\" alt=\"\" width=\"260\" height=\"453\" \/><\/p>\n<p>Eu n\u00e3o mostrei l\u00e1 em cima, mas reparem que ele ainda retorna informa\u00e7\u00f5es de como voc\u00ea pode analisar e resolver seu problema de lock. Evita seu tempo de pesquisar no google.<\/p>\n<p>Eu esperava que ele me desse informa\u00e7\u00f5es de lock sem ter que entrar no detalhe do nome da tabela. J\u00e1 passei o feedback para o time de produto e provavelmente daqui um tempo ele j\u00e1 passar\u00e1 a responder melhor.<\/p>\n<p>Dei uma incrementada no lock para ver como ele iria mostrar:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-19528 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/aumentei-o-lock-300x125.png\" sizes=\"auto, (max-width: 489px) 100vw, 489px\" srcset=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/aumentei-o-lock-300x125.png 300w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/aumentei-o-lock-768x320.png 768w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/aumentei-o-lock-700x292.png 700w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/aumentei-o-lock-410x171.png 410w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/aumentei-o-lock-100x42.png 100w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/aumentei-o-lock-275x115.png 275w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/aumentei-o-lock-20x8.png 20w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/aumentei-o-lock.png 866w\" alt=\"\" width=\"489\" height=\"204\" \/><\/p>\n<p>E ele mostrou os processos bloqueados certinho:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-19532 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/mensagem-agrupada-de-lock-300x267.png\" sizes=\"auto, (max-width: 406px) 100vw, 406px\" srcset=\"https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/mensagem-agrupada-de-lock-300x267.png 300w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/mensagem-agrupada-de-lock-410x365.png 410w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/mensagem-agrupada-de-lock-100x89.png 100w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/mensagem-agrupada-de-lock-275x245.png 275w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/mensagem-agrupada-de-lock-20x18.png 20w, https:\/\/www.fabriciolima.net\/wp-content\/uploads\/2024\/05\/mensagem-agrupada-de-lock.png 618w\" alt=\"\" width=\"406\" height=\"362\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Mandei todos esses prints para o\u00a0<a class=\"external-link wpel-icon-left\" href=\"https:\/\/www.linkedin.com\/in\/joesack\/\" target=\"_blank\" rel=\"noopener nofollow external noreferrer\" data-wpel-link=\"external\">Joe Sack<\/a>\u00a0(sigam ele no linkedin), que \u00e9 o respons\u00e1vel pelo projeto do Copilot no Azure SQL e ele vai levar ao time de engenharia.<\/p>\n<p>Se mais para frente o Copilot responder corretamente sobre lock foi minha contribui\u00e7\u00e3o. kkkkkkkkkk<\/p>\n<p>De nada em galera.\u00a0 =)<\/p>\n<p>\u00c9 isso a\u00ed pessoal.<\/p>\n<p>\u00c9 s\u00f3 o come\u00e7o, ainda em testes e certamente as respostas v\u00e3o melhorando com o passar do tempo.<\/p>\n<p>Assim como os outros Copilots, esse de SQL ajudar\u00e1 bastante no dia a dia.<\/p>\n<p><strong>O Copilot\/IA n\u00e3o vai substituir uma pessoa, mas uma pessoa que saiba usar o Copilot\/IA vai aumentar sua produtividade e substituir uma pessoa que n\u00e3o sabe usar e produz menos.<\/strong><\/p>\n<p><strong>Esse \u00e9 o presente\/futuro que est\u00e1 se desenhando ai com a IA.<\/strong><\/p>\n<p>Quer ficar por dentro das novidades do mundo da IA e aprender junto com nosso Head de IA Rodrigo Ribeiro?<\/p>\n<ul>\n<li><a class=\"external-link wpel-icon-left\" href=\"https:\/\/www.linkedin.com\/in\/rodrigoribeirogomes\/\" target=\"_blank\" rel=\"noopener nofollow external noreferrer\" data-wpel-link=\"external\">Siga o Rodrigo no Linkedin<\/a><\/li>\n<\/ul>\n<p>O Rodrigo criou um instagram, blog e canal no youtube s\u00f3 para falar der IA, o IA Talking. N\u00e3o deixem de acompanhar:<\/p>\n<ul>\n<li><a class=\"external-link wpel-icon-left\" href=\"https:\/\/www.youtube.com\/@IATalking\" target=\"_blank\" rel=\"noopener nofollow external noreferrer\" data-wpel-link=\"external\">Canal IA Talking Youtube<\/a><\/li>\n<li><a class=\"external-link wpel-icon-left\" href=\"https:\/\/iatalk.ing\/\" target=\"_blank\" rel=\"noopener nofollow external noreferrer\" data-wpel-link=\"external\">Blog IA Talking<\/a><\/li>\n<li><a class=\"external-link wpel-icon-left\" href=\"https:\/\/www.tiktok.com\/@iatalking\" target=\"_blank\" rel=\"noopener nofollow external noreferrer\" data-wpel-link=\"external\">Tiktok @iatalking<\/a><\/li>\n<li><a class=\"external-link wpel-icon-left\" href=\"https:\/\/www.instagram.com\/iatalking\/\" target=\"_blank\" rel=\"noopener nofollow external noreferrer\" data-wpel-link=\"external\">Instagram @iatalking<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Gostaram?<\/p>\n<p>Querem fazer perguntas ao Copilot de SQL?<\/p>\n<p>Mandem ai nos coment\u00e1rios que eu fa\u00e7o para voc\u00eas e posto depois em novos artigos.<\/p>\n<p>At\u00e9 o pr\u00f3ximo artigo.<\/p>\n<p>Abra\u00e7os,<\/p>\n<p>Fabr\u00edcio Lima<br \/>\nCEO na Fabr\u00edcio Lima Solu\u00e7\u00f5es em BD<br \/>\nMicrosoft Data Platform MVP<br \/>\nInstagram:<a class=\"external-link wpel-icon-left\" href=\"https:\/\/www.instagram.com\/fabriciofrancalima\/\" target=\"_blank\" rel=\"noopener external noreferrer nofollow\" data-wpel-link=\"external\">@fabriciofrancalima<\/a><br \/>\nLinkedin:\u00a0<a class=\"external-link wpel-icon-left\" href=\"https:\/\/www.linkedin.com\/in\/fabriciofrancalima\/\" target=\"_blank\" rel=\"noopener noreferrer external nofollow\" data-wpel-link=\"external\">https:\/\/www.linkedin.com\/in\/fabriciofrancalima\/<\/a><br \/>\nConsultoria:\u00a0comercial@powertuning.com.br<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fala Pessoal, Hoje vou iniciar uma s\u00e9rie onde devo mostrar bastante coisa legal do\u00a0Copilot para SQL\u00a0que temos no Azure. Estou participando do Preview do Copilot para Azure SQL Database e dando feedbacks ao time de produto dos resultados que encontro. Ent\u00e3o vamos aos primeiros testes\u2026 Lock e CPU alta s\u00e3o respons\u00e1veis pela maioria das lentid\u00f5es&hellip; <br \/> <a class=\"read-more\" href=\"https:\/\/powertuning.com.br\/blog\/azure-sql-copilot-01-identificando-locks-no-bd-apenas-perguntando-ao-copilot\/\">Leia mais<\/a><\/p>\n","protected":false},"author":6,"featured_media":3136,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[101,160,103],"tags":[104,161,162,158],"class_list":["post-3127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-inteligencia-artificial","category-microsoft-azure","tag-azure","tag-copilot","tag-locks","tag-sql"],"jetpack_featured_media_url":"https:\/\/powertuning.com.br\/blog\/wp-content\/uploads\/2024\/06\/Novidade-no-blog53-1.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/3127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/comments?post=3127"}],"version-history":[{"count":2,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/3127\/revisions"}],"predecessor-version":[{"id":3139,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/posts\/3127\/revisions\/3139"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/media\/3136"}],"wp:attachment":[{"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/media?parent=3127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/categories?post=3127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/powertuning.com.br\/blog\/wp-json\/wp\/v2\/tags?post=3127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}