Já faz um tempo desde a versão em powershell do gerador de DacPac,,, visto alguns bugs e limitações que alguém poderia ter em utilizá-lo resolvi montar uma versão mais adaptável do App.
Essa versão utiliza .Net Framework 4 e está o mais enxuta possível (pelo meu nível de conhecimento em programação)
O instalador gera um atalho na área de trabalho e uma entrada no “adicionar/remover programas”.
Bugs conhecidos:
Ele não aceita utilizar um diretório que possua espaço no nome, pelo que consegui entender na exceção a culpa não é da forma que eu estou chamando o app para a extração mas do próprio extrator.
Se clicar 2x na caixa de texto onde está a localização do SqlPackage ele vai exibir um diretório padrão onde deve estar o executável, se você não selecionar o arquivo e clicar em cancelar ou ok, a caixa de texto vai ser preenchida pelo SqlPackage.exe sem o path completo, o que vai gerar um erro na execução da extração.
Se alguém se interessar em usar, gostaria de feedbacks sobre o app.
Para quem leu meu post anterior de Gerar DACPAC usando Powershell percebeu que é um código muito simples, passível de erros como:
digitar o nome do banco errado,
símbolos nos nomes dos bancos,
não escolher um local ou o nome do servidor ele gera erro no script…
coisas bem primárias…
Dessa vez fiz algumas melhorias,,, como:
Tela mais simpática
conecta no servidor de banco e lista as bases
multi seleção de bases
não deixa você continuar se não selecionar um destino e colocar o nome do servidor
Não fecha sozinho
deixa na tela do posh o código para, caso precise, você copie e execute novamente
coloca o mouse como ampulheta
abre o diretório de destino quando acaba a tarefa
e localiza o executável do gerador de dacpac,,, desde que esteja no C:\
Uma coisa muito importante, o código é livre para modificação, sinta-se a vontade de fazer qualquer modificação que queira,, se achar que sua versão ficou melhor, ou achou algum problema e corrigiu, mande o código, vamos melhorar,,,,
O ciclo de vida da maioria dos bancos envolve desenvolvedores e DBA´s compartilhando scripts para atualização de objetos e atividades de manutenção.
Existem algumas formas de fazer isso:
gerar scripts de objetos
Proporcionar acesso as partes interessadas (piada… eu sei…) para gerar os scripts
DACPAC´s
Backup/Restore
etc..
Um pouco de contexto antes,,,
Um DAC (aplicativo da camada de dados) é uma entidade lógica de gerenciamento de banco de dados que define todos os objetos do SQL Server, como tabelas, exibições e objetos de instância, incluindo logons, associados a um banco de dados de usuário.
Todos tem seus prós e contras… não é a intenção deste post tratar isso…
Para quem gosta de gerar scripts dos objetos lembra que tem um outro post que faz isso…
A vantagem do DACPAC é que você pode usa-lo para comparação entre um projeto do TFS e esse pacote extraído da produção ou, caso você seja o DBA, você pode comparar esse pacote contra a sua base de produção ou uma base em homologação. Gerar os scripts para igualar os ambientes ou apenas conseguir ter ideia das diferenças.
Quando clicar no “…” para mapear o caminho, se não aparecer uma janela pop-up, movimenta a janela do app um pouco para o lado, ela ficou atrás da janela inicial,,, isso é um bug que acontece de vez em quando,,,
se vc clicar diversas vezes no “…” ele vai ficar abrindo diversas vezes…
ainda não estou tratando outros tipos de entrada no campo texto,,,, você deve colocar um banco abaixo do outro,,,
e sim,,, ele fecha a janela quando você clica em OK,,,