SQL Server – Como criar um versionamento de código das suas Stored Procedures em HTML e com comentários da alteração

Visualizações: 959
Tempo de Leitura: 7 minutos

Fala pessoal!

Nesse artigo eu vou compartilhar com vocês como criar um versionamento de código das suas Stored Procedures em HTML e com comentários da alteração. No passado, eu já havia criado o post Como criar uma trigger de Auditoria para logar a manipulação de objetos no SQL Server, que mostra como gravar em uma tabela do banco, todas as alterações realizadas em um database, salvando informações sobre quem alterou, quando foi realizada a alteração, qual objeto alterado, e o script T-SQL do DDL/DCL utilizado para realizar essa alteração no banco.

Nesse post eu vou um pouco além disso, criando uma trigger que logue as alterações em uma tabela também, mas force a utilização de uma tag específica que informe o motivo da alteração nessa Stored Procedure (não permite alterar SP’s sem o motivo e nem utilizar o motivo anterior) e ao final da atualização, gera páginas HTML organizadas por objeto com toda a documentação desse objeto e o histórico das alterações.

Código-fonte dos objetos utilizados nesse artigo

Visualizar informações

Tabela utilizada

Log_Procedures

Funções utilizadas

fncDocumentacao_BuscaTag

Stored Procedures utilizadas

stpDOC_geraBloco_Versoes

stpEscreve_Arquivo_FSO

stpDOC_Gera_Arquivos

Trigger utilizada

trgDDLAuditQuery

Lembrando que como utilizo o recurso de OLE Automation na Stored Procedure stpEscreve_Arquivo_FSO para gravar os arquivos no disco, vamos precisar habilitar esse recurso na instância:

Como versionar os códigos

Após criar todos os objetos necessários para esse controle, você verá que não vai conseguir mais alterar uma SP sem informar o motivo da alteração:

Forma simples para documentar as alterações:

Forma completa para documentar as alterações:

Alguns exemplos do resultado final

Página inicial

Visualizando a versão 2

Visualizando a versão 1

É isso aí, pessoal!
Espero que tenham gostado desse post e até a próxima!