none
Excluir Varias linhas de Varias Tabelas de um banco com uma Query RRS feed

  • Pergunta

  • Pessoal o meu cenário é um ambiente de DEV, onde possou um Banco muito Grande. Mas ele possui linhas desnecessárias,  pois ele trabalha com o seguinte conceito:

    • Toda Table possui um campo D_E_L_E_T_
    • Onde indica para o Sistema se o mesmo está excluído apenas do Sistema, estando fisicamente na Tabela
    • Se tive com o flag '*' está fora apenas do sistema, mas está tabela com já foi dito

    Quero saber se é possível dar um delete em todas as linhas de todas as Tabelas onde o campo D_E_L_E_T_='*', isso em uma única Query?

    Se sim podem me auxiliar com T-SQL para fazer isso?

    terça-feira, 10 de março de 2020 18:05

Todas as Respostas

  • jmfrolim,

    Parece-me que você esta utilizando um ambiente similar ao Protheus ou Microsiga, se realmente for, entre em contato que eu lhe passo uma rotina que utilizo em minhas consultorias.

    Ela é muito grande para compartilhar aqui nos fóruns.

    Meu e-mail: pedrogalvaojunior@gmail.com


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 10 de março de 2020 20:08
  • Deleted
    terça-feira, 10 de março de 2020 20:19
  • Deleted
    terça-feira, 10 de março de 2020 20:41
  • jmfrolim,

    Reforçando o que já foi dito, tenha plena certeza que essa ação não acarretará nenhum efeito colateral negativo.

    Antes de uma atividade desse porte, faça seu backup, garanta que a restauração está funcional e faça com o ambiente do sistema todo offline.

    Outra coisa, apenas deletar os registros não garante ganho instantâneo de espaço em disco, se essa for tua intenção.

    Há de se ter ações adicionais.

    No mais, boa sorte !



    Antero Marques

    quarta-feira, 11 de março de 2020 02:37
  • Opa primeiramente obrigado por responder.

    Valeu José pelos links, mas meu objetivo é apenas ajusta uma base para ela ficar o menor possível  e realizar algumas customizações em ADVPL e testar com os dados do Cliente e um ambiente DEV mesmo.
    Portando nesse momento ainda não estou preocupado com 
    performance. Acredito que para ambientes Protheus é melhor contratar alguém com experiencia mesmo para melhor a performance.

    quarta-feira, 11 de março de 2020 15:51
  • Opa primeiramente obrigado por responder.

    Nesse caso como é apenas um ambiente de DEV na minha máquina, não preciso me preocupar com os efeitos colaterais, se der merda só pegar ultimo backup da PRODUÇÃO e restaurar na minha máquina.

    quarta-feira, 11 de março de 2020 15:54
  • Opa primeiramente obrigado por responder.

    Então Antero Marques nesse caso como é apenas um ambiente de DEV na minha máquina, então posso usar o SHRINKDATABASE  e SHRINKFILE para reduzir, essa banco é para testar com dados reais do cliente sem precisar estar plugado na infra dele, dependendo de VPN etc.

    Entenda não estou dizendo que VPN e ruim pelo contrario ela é necessario, mas no meu caso quero ganhar velocidade no  desenvolvimento e teste, das customizações em ADVPL.

    E sem contar que diminuindo tamanho da base posso user ela com Vagrant ou Docker etc.

    quarta-feira, 11 de março de 2020 15:59
  • jmfrolim,

    Poder usar o ShrinkDatabase e ShrinFile você pode, sabendo que é altamente recomendável realizar um backup full antes deste procedimento, bem como, antes de iniciar os procedimentos de Shrink alterar o nível de compatibilidade do banco de dados para Simples e logo após voltar para Full.

    Isso falando de uma base de dados tradiconalmente criada em máquina física ou virtual, ambientes que estejam operando em Docker mais especificamente containers as recomendações e procedimentos devem ser repensados.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 11 de março de 2020 16:28
  • Deleted
    quinta-feira, 12 de março de 2020 00:29