문제

MS SQL Server 2000 개체가 마지막으로 수정된 날짜를 어떻게 알 수 있습니까?

8월 15일 이후 수정된 모든 보기, 프로세스, 기능 등의 목록을 가져와야 합니다.sysObjects에서 객체가 생성된 날짜를 볼 수 있지만 마지막으로 변경된 날짜를 알아야 합니다.

참고:이것은 SQL 2000 데이터베이스입니다.

도움이 되었습니까?

해결책

SQL Server는 실제로 ~ 아니다 마지막 수정 날짜를 기록하십시오.시스템 테이블에는 존재하지 않습니다.

스키마 변경 내역 보고서는 실제로 기본 추적.많은 관리자(및 웹 호스트)가 이 기능을 끄므로 귀하에게 적합하지 않을 수 있습니다.Buck Woody는 이 보고서가 어떻게 작동하는지 잘 설명했습니다. 여기.데이터도 일시적입니다.

이러한 이유로 절대로 스키마 변경 내역 보고서에 의존해서는 안 됩니다.대안:

  • 사용 DDL 트리거 선택한 테이블에 모든 스키마 수정 사항을 기록합니다.
  • 뷰와 프로세스가 절대 변경되지 않고 삭제되고 다시 생성되는 프로토콜을 시행합니다.이는 생성된 날짜가 마지막 업데이트 날짜이기도 함을 의미합니다(이는 분명히 테이블에서는 작동하지 않습니다).
  • 소스 제어에서 SQL 개체와 스키마의 버전을 주의 깊게 관리하세요.

--

편집하다:이것이 SQL 2000이라는 것을 알았습니다.이는 기본 추적 및 DDL 트리거를 배제합니다.위에 나열된 더 지루한 옵션 중 하나가 남았습니다.

다른 팁

조금 오래된 내용인 것은 알지만 마지막으로 변경된 날짜를 볼 수 있습니다. 저장된 프로세스 및 함수 이 쿼리를 사용하면:

USE [Your_DB]    
SELECT * FROM INFORMATION_SCHEMA.ROUTINES

제가 바로 이 솔루션을 검색했는데 이 스레드가 오해의 소지가 있었기 때문에 이것을 언급하는 것이 좋을 것이라고 생각했습니다.

아래 쿼리로 수정된 날짜에 대한 모든 절차 내역에 대한 답변을 확인했습니다.

-1단계 DB에서 프로시저를 실행합니다.

SELECT name, create_date, modify_date 
FROM sys.objects
WHERE type = 'p' 

-2 단계 그런 다음 텍스트를 헤더로 탁월하게 복사하십시오.

Route Coloumn을 선택한 다음 정확한 절차 이름을 ^f 창에 붙여 넣고 Enter를 누르면 정확한 수정 날짜가 나타납니다.

안부, Sudhir Pune

수정_날짜가 ALTER 문을 사용하여 객체를 마지막으로 수정한 날짜이기 때문에 이것이 항상 올바른 것은 아닙니다. 개체가 테이블이나 뷰인 경우 테이블이나 뷰의 클러스터형 인덱스가 생성되거나 변경되면 수정 날짜도 변경됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top