{"id":2164,"date":"2025-12-08T12:15:14","date_gmt":"2025-12-08T15:15:14","guid":{"rendered":"https:\/\/thesqltimes.com\/blog\/?p=2164"},"modified":"2025-12-08T12:29:06","modified_gmt":"2025-12-08T15:29:06","slug":"50-dos-meus-scripts-de-dba-publicados","status":"publish","type":"post","link":"https:\/\/thesqltimes.com\/blog\/2025\/12\/08\/50-dos-meus-scripts-de-dba-publicados\/","title":{"rendered":"50% dos meus scripts de DBA publicados!"},"content":{"rendered":"<div class=\"pld-like-dislike-wrap pld-template-1\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Muito \u00fatil!\" data-post-id=\"2164\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-up\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">    <\/span>\r\n<\/div><\/div><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de Leitura:<\/span> <span class=\"rt-time\"> 3<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\n<p>Fala galera! Venho trazer uma pequena atualiza\u00e7\u00e3o sobre o andamento dos scripts que estou publicando neste reposit\u00f3rio git: <a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\">rrg92\/sqlserver-lib: Ferramentas e Scripts \u00fateis para DBAs e Dev SQL<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2025\/12\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"732\" height=\"579\" src=\"https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2025\/12\/image-1.png\" alt=\"\" class=\"wp-image-2169\" srcset=\"https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2025\/12\/image-1.png 732w, https:\/\/thesqltimes.com\/blog\/wp-content\/uploads\/2025\/12\/image-1-300x237.png 300w\" sizes=\"auto, (max-width: 732px) 100vw, 732px\" \/><\/a><\/figure>\n\n\n\n<p>Finalmente chegamos a marca dos 50% scripts. Mais de 270 scripts publicados. E sabe o que \u00e9 o mais legal? Desde o in\u00edcio, quando <a href=\"https:\/\/thesqltimes.com\/blog\/2025\/01\/08\/10-anos-de-scripts-sql-server-gratuitamente-no-github\/\" title=\"10 anos de Scripts SQL Server gratuitamente no GitHub\">eu anuncie<\/a>i que iria fazer isso, j\u00e1 criei e adicionei mais scripts&#8230; Ent\u00e3o, esse reposit\u00f3rio segue crescendo e n\u00e3o ficou parado no tempo&#8230;<\/p>\n\n\n\n<p>Alguns scripts de destaque legais que publiquei recentemente (desde o <a href=\"https:\/\/thesqltimes.com\/blog\/2025\/03\/18\/100-scripts-de-dba\/\" title=\"100 scripts de DBA \ud83c\udfc61\ufe0f\u20e30\ufe0f\u20e30\ufe0f\u20e3\">\u00faltimo post<\/a> que falei sobre eles):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/blob\/main\/AI\/spDbaGPT.sql\" title=\"\">AI\/spDbaGPT.sql<\/a>: Um exemplo de como invocar as APIs da OpenAI direto do seu SQL Server 2025, que agora vai ter v\u00e1rios suportes a IA. Com esse script voc\u00ea pode perguntar qualquer coisa para um modeo de IA direto do se banco<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/blob\/main\/Backups\/Backup\/Filtrar-Ultimos-N-Backups-PorMes.sql\" title=\"\">Backups\/Backup\/Filtrar-Ultimos-N-Backups-PorMes.sql<\/a>: Esse script usei recentemente para me ajudar a liberar 8TB em uma storage account do Azure. Eu precisava remover alguns backups antigos, mas queria manter o \u00faltimo full de cada banco m\u00eas. Com esse script, eu listei tudo que deveria ficar, e fiz um script powershell que removia os blobs que n\u00e3o est\u00e3o nessa lista&#8230; Em alguns segundos, eu consegui limpar todo um blob storage (economizando um bom $$$ e mantendo backups antigos)<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/blob\/main\/Criptografia\/Certificates\/CopyCertificateBinary.sql\" title=\"\">Criptografia\/Certificates\/CopyCertificateBinary.sql<\/a>: Esse script \u00e9 \u00fatil se voc\u00ea mexe com certificates ou chaves dentro do SQL e precisa copiar o certificado de um banco para outro, sem precisar usar BACKUP CERTIFICATE. <\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/blob\/main\/Database\/LastGoodCheckDB.sql\" title=\"\">Database\/LastGoodCheckDB.sql<\/a>: Esse scrip retorna o \u00faltimo checkdb das bases. \u00datil para uma r\u00e1pida vis\u00e3o sobre qual base n\u00e3o tem feito o checkdb<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/tree\/main\/ExtendedEvents\" title=\"\">ExtendedEvents<\/a>: Adicionei diversos scripts de extended events prontos&#8230; muito \u00fateis quando preciso criar a coleta e investigar algum problema&#8230; pode ajudar bastante (reduz tempo)<\/li>\n\n\n\n<li>Tamb\u00e9m adicionei <a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/tree\/main\/Index\" title=\"\">diversos scripts para obter informa\u00e7\u00f5es de \u00edndices<\/a><\/li>\n\n\n\n<li>Inclui v\u00e1rios scripts que me ajudaram durante anos na parte de monitoramento da Inst\u00e2ncia, coletando informacoes de mem\u00f3ria, caches, locks, transa\u00e7\u00f5es, etc. O <a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/tree\/main\/Instance\" title=\"\">diret\u00f3rio instances<\/a> tem muita coisa valiosa!<\/li>\n\n\n\n<li>Adicionei v\u00e1rios scripts de utilidade como Gerar ou Validar <a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/blob\/main\/Misc\/fn.GerarCPF.sql\" title=\"\">CPF <\/a>e <a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/blob\/main\/Misc\/vw.GerarCNPJ.sql\" title=\"\">CNPJ <\/a>(inclusive no novo formato <a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/blob\/main\/Misc\/fn.ValidarCNPJ-Alfa.sql\" title=\"\">alfanum\u00e9rico<\/a>) e at\u00e9 scripts para gerar senhas.<\/li>\n\n\n\n<li>Adicionei a poderosa <a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/blob\/main\/Modulos\/sp.showcode.sql\" title=\"\">sp_showcode<\/a>, que \u00e9 uma procedure que criei este ano para substituir a sp_helptext! E tenho usado muito ela, pois me poupa muito tempo quando eu preciso lidar com o c\u00f3digo dos objetos no banco<\/li>\n\n\n\n<li>Adicionei diversos scripts de <a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/tree\/main\/apresentacoes\" title=\"\">apresenta\u00e7\u00f5es <\/a>que fiz ao longo dos \u00faltimos anos (e ainda tem muitas para adicionar)&#8230; Por exemplo, a apresenta\u00e7\u00e3o que fiz com o Gustavo Maia Aguiar sobre <a href=\"https:\/\/github.com\/rrg92\/sqlserver-lib\/tree\/main\/apresentacoes\/161008-SqlSat570-CorrupcaoDados\" title=\"\">recupera\u00e7\u00e3o de corrup\u00e7\u00e3o<\/a>&#8230; Por anos n\u00e3o divulgamos os scripts dessa demo e agora est\u00e1 livre e testado com o sql 2025, provando que ainda funciona!<\/li>\n<\/ul>\n\n\n\n<p>Cara, escrevendo este post, agora eu percebi o tanto de coisa legal que eu adicionei&#8230; Tem muita coisa nesse reposit\u00f3rio, e eu j\u00e1 uso ele direto (sem ir na minha pasta pessoal aqui no PC)&#8230;   E uma coisa que eu uso muito mesmo, \u00e9 este projeto que fiz com IA, que me ajuda a pesquisar um script para alguma necessidade&#8230; Ele busca nesses scripts e me recomenda qual o melhor script baseado na necessidade que eu tenho&#8230; Experiementa:<\/p>\n\n\n\n<script\n\ttype=\"module\"\n\tsrc=\"https:\/\/gradio.s3-us-west-2.amazonaws.com\/5.23.1\/gradio.js\"\n><\/script>\n\n\n\n<gradio-app id=\"GradioApp\" src=\"https:\/\/rrg92-sqlserver-lib-assistant.hf.space\"><text-loading>Carregando app&#8230;<\/text-loading><\/gradio-app>\n\n<script>\nvar GradioApp = document.querySelector('#GradioApp');\nvar elLoading = GradioApp.querySelector('text-loading')\n\nGradioApp.addEventListener('render', function(){\nelLoading.style.display = \"none\";\n})\n<\/script>\n\n\n\n<p>E fique ligado no reposit\u00f3rio, que eu tenho pelo mais 200 scripts para colocar l\u00e1 e ainda tem muita coisa legal&#8230; MAs, como eu estou revisando um por um (e se for o caso, eu testo novamente), isso me toma tempo. Mas, em algum momento, 100% estar\u00e1 l\u00e1! <\/p>\n\n\n\n<p>E te convido a me ajudar manter este reposit\u00f3rio com qualidade, adicionando outros scripts, revisando os coment\u00e1rios, o script em si (se voc\u00ea adaptou para algo real a\u00ed, \u00e9 legal compartilhar de volta).<\/p>\n\n\n\n<p>Eu espero de verdade que isso possa ser \u00fatil pra algu\u00e9m a\u00ed, igual foi pra mim! At\u00e9 logo!<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fala galera! Venho trazer uma pequena atualiza\u00e7\u00e3o sobre o andamento dos scripts que estou publicando neste reposit\u00f3rio git: rrg92\/sqlserver-lib: Ferramentas e Scripts \u00fateis para DBAs e Dev SQL Finalmente chegamos a marca dos 50% scripts. Mais de 270 scripts publicados. E sabe o que \u00e9 o mais legal? Desde o in\u00edcio, quando eu anunciei que&hellip;&nbsp;<a href=\"https:\/\/thesqltimes.com\/blog\/2025\/12\/08\/50-dos-meus-scripts-de-dba-publicados\/\" rel=\"bookmark\"><span class=\"screen-reader-text\">50% dos meus scripts de DBA publicados!<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":2169,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"[\"title\",\"meta\",\"content\",\"tags\",\"comments\"]","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[8,3,11,474,422,7],"tags":[479,411,395,33,396,484,402,483,394,433,485,252,71,111],"series":[],"class_list":["post-2164","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administracao","category-banco-de-dados-2","category-desenvolvimento","category-ia-sql-server","category-script-lib","category-sql-server","tag-479","tag-administracao-2","tag-ai","tag-dba","tag-embeddings","tag-extended-events","tag-github","tag-gpt","tag-ia","tag-index","tag-infra","tag-script","tag-sql","tag-tsql"],"_links":{"self":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts\/2164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/comments?post=2164"}],"version-history":[{"count":3,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts\/2164\/revisions"}],"predecessor-version":[{"id":2171,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/posts\/2164\/revisions\/2171"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/media\/2169"}],"wp:attachment":[{"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/media?parent=2164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/categories?post=2164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/tags?post=2164"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/thesqltimes.com\/blog\/wp-json\/wp\/v2\/series?post=2164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}