none
Gerando um Setup para o Analysis Services e Integration Services RRS feed

  • Pergunta

  • Pessoal,

    Sou iniciante nessa área de BI. Já entendo os conceitos e teorias, mas estou em um projeto que ja existe os projeto Analysis services e o Integration services, porem esse mesmo projeto é instalado em uma penca de clientes e toda vez que tenho que instalar ou fazer uma atualizacao tenho que entrar em cada projeto e alterar manualmente a string de conexao e dar um deploy em cada cliente. Queria simplificar essa tarefa apenas gerando um setup e delegando a tarefa de instalacao para os clientes. Com Web Application é bem simples, basta gerar um wizard setup e boas. E agora com o Analysis e Integration? como eu faria isso? Tem como? Alguma sugestão de tutoriais que exemplifique a utilizacao dessas ferramentas na prática? porque até agora só exemplo besta das duas ferramentas separadas..

    Abs a todos!


    Wladiston Paiva - @wladiston - Microsoft MCTS, MTA

    segunda-feira, 14 de maio de 2012 12:54

Todas as Respostas

  • Wladiston, boa tarde.

    Para este caso vc poderá utilizar uma shared data source.

    Vc pode incluir todos os seus DTSx desenvolvidos no SSIS em um único projeto e desta forma compartilhar uma única conexão com todos os pacotes. Desta forma, toda vez que for implementar o projeto SSIS no cliente, vc terá que alterar apenas um lugar as conexões de servidor e banco.

    Uma outra alternativa seria utilizar um XML com os valores da conexão e configurar os pacotes para ler este XML, desta forma vc terá que alterar apenas o XML para configurar todos os pacotes.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 14 de maio de 2012 20:19
  • Quanto ao projeto SSAS não vejo problemas, pois é feita apenas uma única alteração quando se faz necessário realizar um deploy em outro servidor. Vc precisa alterar apenaso data source para executar o deploy com sucesso.

    Abs


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    segunda-feira, 14 de maio de 2012 20:20
  • Opa Eduardo G. Pereira!

    Então, na verdade o grande problema é ainda depender de ter que abrir os projetos para cada instalação/atualizacao.

    Deixa eu explicar melhor a minha necessidade.

    Hoje tenho um software que é dividido em varios módulos, cada módulo é responsável por controlar sua versão e instalar sua versao nos clientes e cada equipe é responsável pelo seu módulo. Porem na maioria das veses, pelo menos para o meu módulo de BI, a instalação é algo complexo até pra gente que vai no cliente instalar. Queria simplicar essa instalação o máximo que puder e tornar algo fácil suficiente que o próprio cliente com a área técnica dele consegue instalar sem a necessidade de ter que ir um dos desenvovledores até o cliente.

    Então estava pensando em criar um setup (.msi) que instale todo o módulo na base do next->next->finish. Para isso não poderei contar em abrir os projetos e alterar algo pra cada um deles. Estou querendo saber se para o projeto SSAS existe uma forma de gerar um package de instalação e deixar as configurações de conexão em um xml ou no registro do windows.

    Mas a sua sugestão é boa, só não sei como eu ainda faria pra dar um deploy do SSAS atraves de um setup.

    Abs!


    Wladiston Paiva - @wladiston - Microsoft MCTS, MTA

    terça-feira, 15 de maio de 2012 11:52
  • Achei um link aqui que parece ser o que preciso:

    http://andrewdenhertog.com/analysis-services/analysis-services-projects-deploying-from-within-an-msi/

    Vou testar aqui e posto aqui.


    Wladiston Paiva - @wladiston - Microsoft MCTS, MTA

    terça-feira, 15 de maio de 2012 12:50
  • Eduardo G. Pereira

    Se eu usar os bancos de stage e dw dettachados em uma pasta do meu sistema, e fizer a configuração para o SSIS, SSAS e SSRS conectarem a partir desse banco dettachado. Eu teria alguma desvantagem em relação aos bancos attachados? Assim eu poderia criar um setup e só copiaria os bancos já com os deploys... o que acha?


    Wladiston Paiva - @wladiston - Microsoft MCTS, MTA

    quarta-feira, 16 de maio de 2012 17:53
  • Eduardo,

    Mas como um base desanexada poderia ser utilizado, pois mecanismo de acesso os dados estão desvinculado da sua instância.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 18 de maio de 2012 18:40
  • Eduardo,

    Mas como um base desanexada poderia ser utilizado, pois mecanismo de acesso os dados estão desvinculado da sua instância.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    Imagino que você quiz dizer Wladiston...

    Bem, colocando a instancia na connectionstring.

    Exemplo:

    Server=.\SQLExpress;AttachDbFilename=c:\asd\qwe\mydbfile.mdf;Database=dbname; Trusted_Connection=Yes;
    Daria certo? é uma dúvida... para aplicações web e winform, isso funciona bem... agora para esses ferramentas malucas de SSRS SSAS e SSIS não sei... gostaria de saber!


    Wladiston Paiva - @wladiston - Microsoft MCTS, MTA

    sexta-feira, 18 de maio de 2012 18:49
  • Wladiston,

    Isso me desculpe, então, foi o que eu pensei, passando na conection string o modo de arquivo de banco de dados anexado.

    Sim desta forma daria certo sim.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 18 de maio de 2012 18:59
  • Junior Galvão,

    Mas não teria nenhum contra? tipo perda de desempenho e bla bla bla...

    Estou querendo dar uma simplificada boa no trabalho aqui..

    Só pra ter uma noção, a instalação é feita da seguinte forma:

    1. Cria os bancos de dados nos servidores que o cliente escolheu com os nomes que ele escolheu
    2. Executa os scripts de criação de banco
    3. Abre o VS e configura os datasources do projeto SSIS e então dá um deploy
    4. Abre o VS e configura os datasources do projeto SSAS e então dá um deploy
    5. Abre o VS e configura os datasources e target serve do projeto SSRS 1 e então dá um deploy
    6. Abre o VS e configura os datasources e target serve do projeto SSRS 2 e então dá um deploy
    7. Executa o instalador do site
    8. Configura o site para o endereço do SSRS publicados

    Bem... Eu sou um adepto da filosofia KISS(keep it simple, stupid)... e isso tem me tirado o sono!

    O que poderia fazer para simplificar esse trabalho? Uma das coisas que pensei era usar o banco como detachado e excluir a possibilidade do cliente escolher o nomesinho do banco e etc e tals... já simplificaria bastante as instalações, mas ainda sim seria complicada.


    Wladiston Paiva - @wladiston - Microsoft MCTS, MTA

    sexta-feira, 18 de maio de 2012 19:34
  • ainda sem solução...

    Wladiston Paiva - @wladiston - Microsoft MCTS, MTA

    sexta-feira, 25 de maio de 2012 13:51
  • Wladiston, boa tarde.

    Do passo 1 ao passo 6 vc pode utilizar um único pacote SSIS para processamento de todos estes items. Segue uma breve explicação do que vc deve fazer:

    1 - Para criação dos bancos, tabelas e usuários, vc pode utilizar o próprio script T-SQL para criação. Desta forma, vc cria um pacote Execute SQL Task do SSIS automalizado, lendo uma varíavel global que conterá o nome da instância SQL.

    2 - Para criação dos datamart´s, cubos e roles, vc pode criar um script XMLA do datamart. Para faze-lo clique com o botão direito no datamart --> Script Database As -->Create To --> New query Editor window. Salve o arquivo XMLA. Vc deverá utilizar o pacote Analysis Services Execute DDL Task para criar o datamart no servidor indicado. Para setar o nome do servidor SSAS dinamicamente, vc poderá utilizar a mesma variável global do processo anterior, caso o nome da instância SSAS seja o mesmo nome da instância SQL Engine.

    3 - Para dar o deploy dos relatórios SSRS dentro do SSIS vc deverá criar um script RSS em VB que estará definido todos os relatórios que deseja dar o deploy no servidor reporting server. Após isto vc deverá criar um arquivo .BAT ou .CMD com o seguinte comando:"rs i MyRSS.rss -s http://localhost/reportserver" , onde MyRss.rss é o script VB contendo todos os relatórios que deverão ser implementados. Após isto vc adiciona no seu projeto SSIS o Execute Process Task chamando este arquivo .BAT ou .CMD. Salve o DTSx criado como "File System".

    Para maiores detalhes acesse: http://www.sqlservercentral.com/articles/Administration/2967/

    Vc poderá chamar este pacote de duas formas: Ou via executável, implementando uma simples programação chamando este DTSx, ou pelo Execute Package Utility se tiver instalado na máquina que executará o processo.

    Desta forma vc automatizará 90% do seu processo atual, tudo dentro de um único pacote SSIS.

    Quanto ao passo 7 é bem específico da plataforma do qual vc desenvolveu, mas acredito que seja possível executar este pacote a partir do SSIS. Dê uma pesquisada sobre isto.

    Quanto ao passo 8, a ferramenta de desenvolvimento que vc utiliza deve ter alguma opção que passe um parâmetro para o pacote de instalação. Desta forma vc cria um arquivo .INI que no momento da instalação vc vai apenas alterar este arquivo .INI com o novo nome do servidor de relatórios. O pacote de instalação lerá este arquivo .INI no momento da instalação e o mesmo já instalará o seu projeto com as novas configurações.

    Espero ter ajudado.

    Abs.


    Eduardo Gomes - http://www.h1solucoes.com.br - Twitter: @edugp_sp

    sexta-feira, 25 de maio de 2012 15:33
  • Eduardo G. Pereira,
    Avatar de Eduardo G. Pereira

    Eduardo G. Pereira

    Partner

    2.825 Pontos830
    Realizações recentes.
    Respondedor de fóruns IIIRespondedor de código IIRespondedor de código I

    Vou testar e posto aqui. Mas creio que é uma ótima solução para simplicicar o trabalho.

    Obrigado!


    Wladiston Paiva - @wladiston - Microsoft MCTS, MTA

    sexta-feira, 25 de maio de 2012 17:25