{"id":8985,"date":"2018-05-15T18:38:10","date_gmt":"2018-05-15T21:38:10","guid":{"rendered":"http:\/\/www.fabriciolima.net\/?page_id=8985"},"modified":"2018-05-21T14:26:08","modified_gmt":"2018-05-21T17:26:08","slug":"tuning-para-dbas-e-devs-com-casos-reais-da-sua-empresa","status":"publish","type":"page","link":"https:\/\/fabriciolima.net\/blog\/cursos-online\/tuning-para-dbas-e-devs-com-casos-reais-da-sua-empresa\/","title":{"rendered":"Tuning para DBAs e Devs com casos reais da sua Empresa"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-9018 aligncenter\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2018\/05\/banner-treinamentos.jpg\" alt=\"\" width=\"852\" height=\"315\" srcset=\"https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2018\/05\/banner-treinamentos.jpg 852w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2018\/05\/banner-treinamentos-300x111.jpg 300w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2018\/05\/banner-treinamentos-768x284.jpg 768w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2018\/05\/banner-treinamentos-700x259.jpg 700w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2018\/05\/banner-treinamentos-410x152.jpg 410w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2018\/05\/banner-treinamentos-100x37.jpg 100w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2018\/05\/banner-treinamentos-275x102.jpg 275w, https:\/\/fabriciolima.net\/blog\/wp-content\/uploads\/2018\/05\/banner-treinamentos-20x7.jpg 20w\" sizes=\"(max-width: 852px) 100vw, 852px\" \/><\/p>\n<p>Fala Pessoal,<\/p>\n<p>Um cliente me solicitou um Treinamento focado 100% em Tuning e com um conte\u00fado mais aprofundado do que o m\u00f3dulo que tinha no meu Treinamento de <a href=\"https:\/\/www.fabriciolima.net\/cursos-online\/treinamento-tarefas-do-dia-a-dia-de-um-dba-online\/\">Tarefas do Dia a Dia de um DBA<\/a>.<\/p>\n<p>Da\u00ed surgiu meu novo Treinamento: <strong>Tuning para DBAs e Devs com casos reais da sua Empresa<\/strong><\/p>\n<p>A diferen\u00e7a desse Treinamento para um gen\u00e9rico com exemplos fict\u00edcios \u00e9 que em cada item do Treinamento podemos olhar o ambiente Real do cliente e discutir melhorias que v\u00e3o ajudar na pr\u00e1tica essa empresa. Inclusive, se for poss\u00edvel, vamos olhar queries reais e fazer um Tuning AO VIVO em algumas consultas do cliente.<\/p>\n<p>Por enquanto, ser\u00e1 um treinamento fechado apenas para empresas (In Company ou ONLINE) e ainda n\u00e3o tenho previs\u00e3o de agendar turmas abertas.<\/p>\n<p><strong>Dura\u00e7\u00e3o:<\/strong> <strong>24 horas<\/strong>, mas pode ser de 16 horas (com cortes indicados pela empresa) ou de 32 horas (para dar tempo de olhar mais queries de produ\u00e7\u00e3o)<\/p>\n<p>Ficou interessado? Ent\u00e3o entre em contato comigo.<\/p>\n<ul>\n<li>E-mail: <strong>contato@fabriciolima.net<\/strong>\u00a0ou Skype:<strong>\u00a0fabriciolima.net<\/strong>.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Segue o conte\u00fado do curso:<\/p>\n<p><strong>Parte 01: Cria\u00e7\u00e3o de Rotinas de Monitoramento de Performance <\/strong><\/p>\n<ul>\n<li>Cria\u00e7\u00e3o da procedure WhoisActive\n<ul>\n<li>Exemplos de utiliza\u00e7\u00e3o e explica\u00e7\u00e3o dos resultados retornados por essa procedure<\/li>\n<li>Cria\u00e7\u00e3o de uma rotina para monitorar a cada 1 minuto<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Cria\u00e7\u00e3o de um Trace para Log das queries lentas do banco de dados\n<ul>\n<li>Como criar um Server Side Trace<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Cria\u00e7\u00e3o de uma rotina para armazenar alguns contadores do SQL Server\n<ul>\n<li>BatchRequests<\/li>\n<li>User_Connection<\/li>\n<li>CPU<\/li>\n<li>Page Life Expectancy<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Parte 02: An\u00e1lise de Recursos do Servidor<\/strong><\/p>\n<ul>\n<li>Waits Stats<\/li>\n<li>CPU est\u00e1 em 100%, o que analisar?<\/li>\n<li>Como validar se meu problema de performance \u00e9 falta de mem\u00f3ria?<\/li>\n<li>Como comprovar que estou com gargalos de disco?<\/li>\n<\/ul>\n<p><strong>\u00a0<\/strong><strong>Parte 03: Configura\u00e7\u00f5es do SQL Server e dicas diversas de Performance<\/strong><\/p>\n<ul>\n<li>Configura\u00e7\u00e3o Servidor SQL<\/li>\n<li>Collation faz diferen\u00e7a na Performance?<\/li>\n<li>Instant File Inicialization (IFI)<\/li>\n<li>Configura\u00e7\u00e3o Error Log SQL Server<\/li>\n<li>Cria\u00e7\u00e3o de uma Base de Dados\n<ul>\n<li>Crescimento dos Arquivos de Log<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Cria\u00e7\u00e3o de Tabelas\n<ul>\n<li>Principais tipos de dados do SQL Server<\/li>\n<li>Utiliza\u00e7\u00e3o de Constraints (PK, FK, Default, Check e etc)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\"><\/li>\n<li>Linked Server<\/li>\n<li>Shrink<\/li>\n<li>Backup com Compress\u00e3o<\/li>\n<li>Compress\u00e3o de Dados<\/li>\n<li>TEMPDB<\/li>\n<\/ul>\n<p><strong>\u00a0<\/strong><strong>Parte 04: Estat\u00edsticas e \u00cdndices no SQL Server<\/strong><\/p>\n<ul>\n<li>An\u00e1lise das Estat\u00edsticas\n<ul>\n<li>Entendendo como as estat\u00edsticas funcionam e sua import\u00e2ncia<\/li>\n<li>Cria\u00e7\u00e3o de uma rotina para atualiza\u00e7\u00e3o de estat\u00edsticas<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>\u00cdndices\n<ul>\n<li>Como os dados s\u00e3o armazenados no SQL Server<\/li>\n<li>Tipos de \u00edndices (clustered e nonclustered)<\/li>\n<li>Fragmenta\u00e7\u00e3o\n<ul>\n<li>Rotina para armazenar o hist\u00f3rico de fragmenta\u00e7\u00e3o de \u00edndices<\/li>\n<li>Rotina para desfragmentar os \u00edndices das bases<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\u00a0 Analise da utiliza\u00e7\u00e3o de \u00edndices\n<ul>\n<li>Rotina para armazenar o hist\u00f3rico de utiliza\u00e7\u00e3o de \u00edndices<\/li>\n<\/ul>\n<\/li>\n<li>Sugest\u00f5es de \u00edndices pelo SQL Server<\/li>\n<\/ul>\n<p><strong>Parte 05: Melhorando a Performance de Consultas<\/strong><\/p>\n<ul>\n<li>Execution Plan\n<ul>\n<li>O que \u00e9?<\/li>\n<li>Como analisar?<\/li>\n<li>Operadores mais comuns<\/li>\n<li>O que devo procurar primeiro?<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Como encontrar as queries mais problem\u00e1ticas para analisar(CPU, Disco, Tempo e Repeti\u00e7\u00f5es)\n<ul>\n<li>Trace de Queries Demoradas<\/li>\n<li>Dmvs do SQL Server<\/li>\n<li>Query Store<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Query Store\n<ul>\n<li>O que \u00e9?<\/li>\n<li>Qual o impacto?<\/li>\n<li>Como isso pode me ajudar no dia a dia?<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\"><\/li>\n<li>Analisando Queries Reais\n<ul>\n<li>Analisando Queries Reais \u2013 Query 1<\/li>\n<li>Analisando Queries Reais \u2013 Query 2<\/li>\n<li>Analisando Queries Reais \u2013 Query 3<\/li>\n<li>Analisando Queries Reais \u2013 Query 4<\/li>\n<li>Analisando Queries Reais do Cliente que est\u00e1 recebendo o Treinamento (Quando poss\u00edvel)<\/li>\n<li style=\"list-style-type: none;\"><\/li>\n<\/ul>\n<\/li>\n<li>Dicas de T-SQL\n<ul>\n<li>Posso usar cursor?<\/li>\n<li>NOT IN ou NOT EXISTS<\/li>\n<li>JOIN ou EXISTS<\/li>\n<li>COUNT(1) ou COUNT(*)<\/li>\n<li>GROUP BY ou DISTINCT<\/li>\n<li>UNION ou UNION ALL<\/li>\n<li>Outras d\u00favidas que surgirem no treinamento&#8230;<\/li>\n<\/ul>\n<\/li>\n<li>Locks e Deadlock\n<ul>\n<li>Problemas frequentes de lock que encontro em Clientes<\/li>\n<li>Rotina para monitorar Deadlock.<\/li>\n<\/ul>\n<\/li>\n<li>Cria\u00e7\u00e3o de Alertas\u00a0de Performance\n<ul>\n<li>TempDB<\/li>\n<li>Lock<\/li>\n<li>Consumo de CPU<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>\u00a0Conte\u00fado Extra: <\/strong><strong>Azure SQL Database<\/strong><\/p>\n<ul>\n<li>Vou perder meu emprego?<\/li>\n<li>Meu trabalho de Tuning ainda \u00e9 importante?<\/li>\n<li>Quais ferramentas de Tuning tenho no SQL do Azure?<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h6><span style=\"color: #ff0000;\"><strong>N\u00e3o perca essa oportunidade de investir na sua empresa!<\/strong><\/span><\/h6>\n<p>&nbsp;<\/p>\n<div data-test='contact-form' id='contact-form-8985' class='wp-block-jetpack-contact-form-container '>\n<form action='https:\/\/fabriciolima.net\/blog\/cursos-online\/tuning-para-dbas-e-devs-com-casos-reais-da-sua-empresa\/#contact-form-8985' method='post' class='contact-form commentsblock' aria-label=\"Tuning para DBAs e Devs com casos reais da sua Empresa\" novalidate>\n\n<div style=\"\" class='grunion-field-name-wrap grunion-field-wrap'  >\n<label\n\t\t\t\tfor='g8985-nome'\n\t\t\t\tclass='grunion-field-label name'>Nome<span class=\"grunion-label-required\" aria-hidden=\"true\">(obrigat\u00f3rio)<\/span><\/label>\n<input\n\t\t\t\t\ttype='text'\n\t\t\t\t\tname='g8985-nome'\n\t\t\t\t\tid='g8985-nome'\n\t\t\t\t\tvalue=''\n\t\t\t\t\tclass='name  grunion-field' \n\t\t\t\t\trequired aria-required='true' \/>\n\t<\/div>\n\n<div style=\"\" class='grunion-field-email-wrap grunion-field-wrap'  >\n<label\n\t\t\t\tfor='g8985-email'\n\t\t\t\tclass='grunion-field-label email'>Email<span class=\"grunion-label-required\" aria-hidden=\"true\">(obrigat\u00f3rio)<\/span><\/label>\n<input\n\t\t\t\t\ttype='email'\n\t\t\t\t\tname='g8985-email'\n\t\t\t\t\tid='g8985-email'\n\t\t\t\t\tvalue=''\n\t\t\t\t\tclass='email  grunion-field' \n\t\t\t\t\trequired aria-required='true' \/>\n\t<\/div>\n\n<div style=\"\" class='grunion-field-textarea-wrap grunion-field-wrap'  >\n<label\n\t\t\t\tfor='contact-form-comment-g8985-comentrio'\n\t\t\t\tclass='grunion-field-label textarea'>Coment\u00e1rio<span class=\"grunion-label-required\" aria-hidden=\"true\">(obrigat\u00f3rio)<\/span><\/label>\n<textarea\n\t\t                style=''\n\t\t                name='g8985-comentrio'\n\t\t                id='contact-form-comment-g8985-comentrio'\n\t\t                rows='20' class='textarea  grunion-field'  required aria-required='true'><\/textarea>\n\t<\/div>\n\t<p class='contact-submit'>\n\t\t<button type='submit' class='pushbutton-wide'>Enviar<\/button>\t\t<input type='hidden' name='contact-form-id' value='8985' \/>\n\t\t<input type='hidden' name='action' value='grunion-contact-form' \/>\n\t\t<input type='hidden' name='contact-form-hash' value='ee92d7172ccbaa01cd0c52b7c374dd994719743c' \/>\n\t<\/p>\n<p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"ak_\"><label>&#916;<textarea name=\"ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"ak_js\" value=\"145\"\/><script>document.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );<\/script><\/p><\/form>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Fala Pessoal, Um cliente me solicitou um Treinamento focado 100% em Tuning e com um conte\u00fado mais aprofundado do que o m\u00f3dulo que tinha no meu Treinamento de Tarefas do Dia a Dia de um DBA. Da\u00ed surgiu meu novo Treinamento: Tuning para DBAs e Devs com casos reais da sua Empresa A diferen\u00e7a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":3239,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"jetpack_post_was_ever_published":false,"footnotes":""},"jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_likes_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P7v2hY-2kV","_links":{"self":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/pages\/8985"}],"collection":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/comments?post=8985"}],"version-history":[{"count":6,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/pages\/8985\/revisions"}],"predecessor-version":[{"id":9019,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/pages\/8985\/revisions\/9019"}],"up":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/pages\/3239"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=8985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}