본문 바로가기
vita_Programing

MSSQL에서 저장프로시저 수정이력 확인

by lemonvita 2024. 5. 9.
728x90
반응형

 

 

MSSQL에서 저장프로시저 수정이력 확인

 

 

 

mssql 저장프로시저 수정이력 확인하기

 

728x90

 

 

고객사의 서버인프라 관리 담당자로부터 MSSQL DB서버의 특정 저장 프로시저의 수정 반영일자를 확인해 달라는 요청을 받았다.
MSSQL 저장 프로시저 코드 내에 주석이라도 잘 적어놓았다면 육하원칙에 따라 누가 언제 무엇을 어떻게 수정 적용했는지 알 수 있겠지만, 주석 쓰기를 귀찮아하는 개발자라면 이야기가 달라진다.

그러나 다행히도 sql server에는 모든 sp의 수정날짜를 확인해 볼 수 있는 쿼리문이 있으니 이를 활용하면 sp를 하나하나 뒤져가며 찾을 필요가 없겠다.

 

MSSQL에서 저장 프로시저의 수정 이력을 확인하는 것은 SQL Server 자체에서 직접적으로 제공하는 기능은 아니지만, 몇 가지 방법을 통해 간접적으로 수정 이력을 추적할 수 있다.

그중 한 가지 방법으로, 아래 쿼리문을 그대로 복사하여 실행해 주면 간단하게 해결된다.

 

SELECT * 
FROM sys.sql_modules a 
inner join sys.all_objects b 
on a.object_id = b.object_id 
order by modify_date desc

 

위 쿼리의 실행결과는 아래와 같다.

 

화면 오른쪽이 잘려서 다 나오지는 않았지만 오른쪽으로 스크롤하면 sp의 생성일자와 최종 수정일자도 확인이 가능하다.

 

 

 

추가적으로 다른 방법이 있는데 sys.object 테이블을 활용할 수 있다.

 

sys.objects 테이블에는 데이터베이스 내의 모든 객체에 대한 정보가 저장되어 있다. 여기에는 저장 프로시저의 생성 날짜(create_date)와 마지막 수정 날짜(modify_date) 정보도 포함된다. 이 정보를 사용하여 특정 저장 프로시저의 수정 이력을 확인할 수 있다.

 

예제 코드는 아래를 참고할 수 있겠다.

 

SELECT 
    name AS [ProcedureName],
    create_date AS [CreatedOn],
    modify_date AS [LastModifiedOn]
FROM 
    sys.objects
WHERE 
    type = 'P' AND
    name = 'YourProcedureName' -- 여기에서 'YourProcedureName'을 원하는 저장 프로시저 이름으로 변경하세요.

 

 

 

728x90
반응형