none
Dúvida SQL RRS feed

  • Pergunta

  • Olá...Estou com uma dúvuda....
    Criei uma aplicação 3 camadas, onde criei stored procedures....Daí um dia implanto o sistema em um cliente....Depois de algum tempo precisarei alterar algumas stored procedures....Como farei isso sem precisar pegar o banco do cliente??
    Obrigado...
    quarta-feira, 2 de dezembro de 2009 13:08

Respostas

  • No caso de procs vc precisa enviar a proc com as alteracoes, com o cuidado de adicionar alter ou drop e create e adicionar os grants de necessario, segue ex.

    USE seuBD
    go
    IF exists (SELECT NAME FROM sys.objects WHERE TYPE = 'p' and NAME = 'usp_sua_proc')
    	begin
    		DROP PROCEDURE usp_sua_proc
    	end
    	go
    
    CREATE PROCEDURE usp_sua_proc @cdPol int
    as
    
    SET NOCOUNT ON
    
    -- proc....
    
    
    go
    grant execute on usp_sua_proc to seu_usuario




    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    • Marcado como Resposta EvangelistaLion quarta-feira, 2 de dezembro de 2009 16:29
    quarta-feira, 2 de dezembro de 2009 15:11
    Moderador
  • EvangelistaLion,

    Concordo com o Marcelo.

    O que você deverá fazer é gerar arquivos(scripts transact-sql) contendo os códigos das alterações de suas stored procedures, onde estes arquivos serão executados nos servidores dos seus respectivos clientes.

    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como Resposta EvangelistaLion quarta-feira, 2 de dezembro de 2009 16:30
    quarta-feira, 2 de dezembro de 2009 15:44

Todas as Respostas

  • Evangelista,

    Se sua dúvida, é como pegar o script da proc no cliente, o legal seria vc usar o TFS para versionar as alterações assim vc teria uma copia dos scripts em seu ambiente, casou não precise pegar o script no cliente ou ja fez a alteracao, basta apenas enviar o script para a atualizacao do banco no cliente

    att,
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quarta-feira, 2 de dezembro de 2009 13:15
    Moderador
  • EvangelistaLion,

    De alguma forma você terá que ter uma cópia deste banco, não precisar ser uma versão atualizada com todos os dados, mas sim uma versão que possua a mesma estrutura de objetos.

    Com isso você poderá fazer as devidas alterações nas stored procedures, gerando scripts com estas alterações, após isso poderia enviar estes scripts para seus clientes realizarem a execução dos mesmos contendo as alterações.

    O importante é ter um ambiente similar ao dos seus clientes para que você possa realizar as alterações nas camadas referentes ao banco de dados, tanto nos objetos, como também triggers, functions e stored procedures.


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 2 de dezembro de 2009 13:18
  • Obrigado Marcelo e Júnior era isso que eu queria saber....Mas só não entendi como enviar esses scripts separado do banco....
    Como que faz isso? Se tiverem algum material de apoio que possam me indicar.....
    quarta-feira, 2 de dezembro de 2009 13:28
  • No caso de procs vc precisa enviar a proc com as alteracoes, com o cuidado de adicionar alter ou drop e create e adicionar os grants de necessario, segue ex.

    USE seuBD
    go
    IF exists (SELECT NAME FROM sys.objects WHERE TYPE = 'p' and NAME = 'usp_sua_proc')
    	begin
    		DROP PROCEDURE usp_sua_proc
    	end
    	go
    
    CREATE PROCEDURE usp_sua_proc @cdPol int
    as
    
    SET NOCOUNT ON
    
    -- proc....
    
    
    go
    grant execute on usp_sua_proc to seu_usuario




    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    • Marcado como Resposta EvangelistaLion quarta-feira, 2 de dezembro de 2009 16:29
    quarta-feira, 2 de dezembro de 2009 15:11
    Moderador
  • EvangelistaLion,

    Concordo com o Marcelo.

    O que você deverá fazer é gerar arquivos(scripts transact-sql) contendo os códigos das alterações de suas stored procedures, onde estes arquivos serão executados nos servidores dos seus respectivos clientes.

    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como Resposta EvangelistaLion quarta-feira, 2 de dezembro de 2009 16:30
    quarta-feira, 2 de dezembro de 2009 15:44
  • Obrigado Marcelo e Junior....Ajudaram bastante..
    quarta-feira, 2 de dezembro de 2009 16:29
  • EvagelistaLion,

    Obrigado pelo retorno.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 2 de dezembro de 2009 17:07