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,,,
Ele ficou até que bem simpático…
Com os campos preenchidos
E tem até barra de status… olha que chique…
let's make things better
Manage Cookie Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.