Os procedimentos armazenados não são armazenados como arquivos, eles são armazenados como metadados e expostos a nós, peões (obrigado Michael pelo lembrete sobre
sysschobjs
) nas exibições de catálogo sys.objects
, sys.procedures
, sys.sql_modules
, etc. Para um procedimento armazenado individual, você pode consultar a definição diretamente usando essas exibições (o mais importante sys.sql_modules.definition
) ou usando o OBJECT_DEFINITION()
funcionar como Nicholas apontou
(embora sua descrição de syscomments
não é totalmente preciso). Para extrair todos os procedimentos armazenados em um único arquivo, uma opção seria abrir o Pesquisador de Objetos, expandir
seu servidor> bancos de dados> seu banco de dados> programabilidade
e destaque os procedimentos armazenados
nó. Em seguida, pressione F7 (Visualizar> Detalhes do Pesquisador de Objetos
). No lado direito, selecione todos os procedimentos desejados e clique com o botão direito do mouse em script stored procedure as> create to> file
. Isso produzirá um único arquivo com todos os procedimentos que você selecionou. Se você quiser um único arquivo para cada procedimento, poderá usar esse método selecionando apenas um procedimento por vez, mas isso pode ser tedioso. Você também pode usar esse método para criar scripts de todos os procedimentos relacionados à contabilidade em um arquivo, todos os procedimentos relacionados a finanças em outro arquivo etc. Uma maneira mais fácil de gerar exatamente um arquivo por procedimento armazenado seria usar o Generate Assistente de script - novamente, a partir do Pesquisador de Objetos - clique com o botão direito do mouse em seu banco de dados e escolha
Tarefas> Gerar scripts
. Escolha Selecionar objetos de banco de dados específicos
e verifique os Stored Procedures
de nível superior caixa. Clique em Avançar. Para saída, escolha Salvar scripts em um local específico
, Salvar em arquivo
e Arquivo único por objeto.
Essas etapas podem ser um pouco diferentes dependendo da sua versão do SSMS.