Hey Guys!
Nesse post, eu gostaria de compartilhar como resolver um erro na instalação do SQL Server Data Tools (SSDT) 2017 – Setup Failed: Incorrect function (0x80070001), que acontece comigo com frequência, sempre que tento instalar o SQL Server Data Tools versão 2017 em alguns computadores.
O que é o SQL Server Data Tools (SSDT)?
Segundo a própria documentação oficial da Microsoft, o SSDT (SQL Server Data Tools) transforma o desenvolvimento do banco de dados introduzindo um modelo declarativo ubíquo que abrange todas as fases do desenvolvimento de banco de dados no Visual Studio.
Você pode usar os recursos de design de Transact-SQL do SSDT para compilar, depurar, manter e refatorar bancos de dados. Pode trabalhar com um projeto de banco de dados ou diretamente com uma instância de banco de dados conectada ou externa.
Em resumo, o SSDT é uma IDE gratuita para analistas de BI e banco de dados para trabalhar com projetos de banco (SQL Database Projects / SQLCLR), projetos do Integration Service (SSIS), Analysis Services (SSAS) e Reporting Services (SSRS), então ela é essencial para quem trabalha na área de dados com ferramentas de dados da Microsoft.
Se analisarmos a página de download do SSDT, podemos observar que já existem as versões 2019 e 2022 (preview) para download, como sendo componentes do Visual Studio, enquanto as versões 2017 e anteriores, eram instaladores autônomos que já instalavam uma cópia simplificada do Visual Studio, conhecida como Visual Studio Shell (SSDT 2014 a 2017) ou BIDS (SSDT 2005 a 2012).
O maior problema que vejo das versões mais novas e acaba gerando muitas dúvidas em toda a comunidade técnica, é que você precisa instalar o Visual Studio Community Edition para utilizar o SSDT, caso você não tenha uma licença do Visual Studio.
Se analisarmos a documentação oficial do Visual Studio Community, nota-se que o uso da edição Community possui algumas limitações para uso comercial:
Tradução: Para todos os outros cenários de uso: Em organizações não empresariais, até cinco usuários podem usar o Visual Studio Community. Em organizações empresariais (ou seja, aquelas com mais de 250 PCs ou mais de $ 1 milhão de dólares americanos em receita anual), nenhum uso é permitido além do código aberto, pesquisa acadêmica e cenários de ambiente de aprendizagem em sala de aula descritos acima.
Ou seja, se você trabalha numa empresa grande, não pode utilizar o Visual Studio Community. E o SSDT? Como ficaria nessa situação? Bom, até o momento atual, não encontrei nenhuma documentação oficial que cite sobre essa exceção, então muitas pessoas acabam tendo receio de utilizar as versões mais novas do SSDT por conta dessa dúvida em relação à licenciamento e acabam optando pela versão 2017, a última versão com instalador autônomo.
Erro na instalação do SQL Server Data Tools (SSDT) 2017
Voltando ao problema original desse artigo, às vezes consigo instalar normalmente o SSDT 2017 e às vezes eu não consigo, pois acontece o erro Incorrect function (0x80070001) durante a instalação.
Analisando o log de erro da instalação, não consegui identificar uma possível causa ou solução para isso.
Para resolver isso, faremos a instalação offline do SSDT 2017, pois o problema ocorre ao tentar baixar alguns recursos do instalador. Baixe o instalador autônomo nesse link aqui ou clique nesse outro link aqui para ir direto para o link de download.
Baixe o arquivo vs_sql.exe, clicando nesse link aqui e salve no mesmo diretório onde baixou o instalador do SSDT (SSDT-Setup-ENU.exe).
Abra o prompt do DOS como administrador:
Agora navegue até a pasta onde você baixou os arquivos e digite o comando:
1 |
vs_sql.exe --layout C:\diretorio_onde_quer_salvar\ --lang en-us |
Após isso, a instalação será iniciada e os arquivos serão baixados para o diretório escolhido:
Durante o processo de download, notei que ficou mais de 1h em 69.62%. Apertei a tecla “Enter”, o instalador mostrou essa mensagem de erro e continuou o processo.
Instalação concluída com erros:
Para corrigir esse problema que ocorreu comigo, digite o comando abaixo: (faça isso apenas se você também teve erros no download)
1 |
vs_SQL.exe --layout C:\SSDT2017 --fix |
Navegue até o diretório onde você baixou os arquivos do layout (no meu caso, C:\SSDT2017) utilizando o comando “cd” e digite o comando abaixo na janela do Prompt de comando para instalar o Visual Studio Shell e o Database Project:
1 |
vs_setup.exe --NoWeb |
Aqui não tem muito o que alterar, só clicar no botão de Install mesmo (ou talvez mudar o caminho de instalação):
Visual Studio Data Tools 2017 Instalado
Agora você já pode instalar o SQL Server Data Tools 2017 (SSDT) pelo instalador normal (SSDT-Setup-ENU.exe), lembrando de marcar as opções do SSIS, SSRS e SSAS:
Ao final do processo, vemos que a instalação foi concluída com sucesso!
Após reiniciar o servidor, abro o Visual Studio 2017:
E os templates de projetos do SQL Server (Database Project / SQLCLR), Analysis Services (SSAS), Integration Services (SSIS) e Reporting Services (SSRS) estão funcionando normalmente.
E é isso, pessoal!
Um grande abraço e até a próxima.
i can’t find the vs_setup.exe –NoWeb 🙁
Thank you so much. I have been floundering in the mud and you really helped me out here. I really appreciate the post. This was fantastic! If you were here, I would buy you at least a cappuccino!
Thanks for the help, but I need to ask about how you got the layout files, in your case the c:\ssdt2017. How can I get mine? I have searched for it.
Muito muito bom, resolveu meu problema.! Parabéns.
Thanks so much for the solution. Finally setup completed.
hola buenas yo descargue los dos activos y lo puse en el miso lugar, pero cundo te refieres a C:\SSDT2017 ese archivo es uno de los que usted dijo que descargara son dos archivos que usted puso para descargas C:\SSDT2017 es uno de ellos o es otro
Thanks for the help. I have installed the SSDT as per the instructions. One question, Can we delete the files created during –layout process? Because it is consuming 3 GB space.
Yes, you can delete these files.
Hello Dirceu, the step where you referenced the downloaded layout file, where did you get it? Your c:\ssdt2017, how can I find mine?
if you follow the article word for word… you will understand…. there is an executable that you use to pull down the visual studio files, as you need to install VS first, then SSDT afterwards…. this blog should never be necessary if MS did their job correctly!! but let’s face it, when does that ever happen!