SQL Server에서 가장 최근에 수정된 저장 프로시저를 빠르게 식별하는 방법

StackOverflow https://stackoverflow.com/questions/85036

문제

수정된 저장 프로시저를 DEV SQL Server 2005 데이터베이스 인스턴스에서 TEST 인스턴스로 수동으로 마이그레이션해야 합니다.마이그레이션 중인 변경 사항을 제외하면 데이터베이스의 스키마는 동일합니다.TEST 인스턴스로 마이그레이션하기 위해 DEV 데이터베이스에서 어떤 저장 프로시저가 수정되었는지 빠르게 식별하려면 어떻게 해야 합니까?

일부 시스템 테이블에 대해 쿼리를 작성하여 저장 프로시저 유형의 데이터베이스 개체를 보고 마지막으로 수정되거나 컴파일된 데이터를 기준으로 정렬할 수 있다고 가정하지만 확실하지 않습니다.어쩌면 누군가가 나에게 알려줄 수 있는 일종의 무료 유틸리티가 있을 수도 있습니다.

미리 감사드립니다.

단발

도움이 되었습니까?

해결책

더 이상 권장되지 않는 sysobjects를 사용하는 대신 sys.procedures를 사용하십시오.

select name,create_date,modify_date
from sys.procedures
order by modify_date desc

where 절을 직접 작성할 수 있지만 이렇게 하면 수정 날짜가 내림차순으로 나열됩니다.

다른 팁

Bob O'Malley는 아마도 오래 전에 이 문제를 해결했을 것입니다. 그러나 새로운 독자들이 이 내용이 유용하다고 생각하기를 바랍니다.

스크립트가 최적의 결과를 제공하지 못하는 몇 가지 특수한 경우가 있습니다.

하나는 개발 환경에서 저장 프로시저나 기타 개체를 삭제하는 것입니다. 개체가 더 이상 거기에 존재하지 않기 때문에 시스템 뷰를 사용하여 이를 포착할 수 없습니다.

또한 이 접근 방식이 권한 등의 변경 사항에 효과가 있을지 확신할 수 없습니다.

이러한 경우 누락된 항목이 없는지 다시 확인하기 위해 일부 타사 도구를 사용하는 것이 가장 좋습니다.

성공적으로 사용했어요 ApexSQL 차이 과거에는 유사한 작업을 수행했으며 1000개 이상의 개체가 있는 대규모 데이터베이스에서 정말 잘 작동했지만 여기에 이미 언급된 SQL 비교 또는 기본적으로 시장에 존재하는 다른 도구를 사용하면 문제가 발생할 수 없습니다.

부인 성명:저는 여기서 언급한 공급업체와 관련이 없지만 제가 일하는 회사에서는 두 도구 세트(Apex 및 RG)를 모두 사용합니다.

이 쿼리를 실행하면 지난 x일 동안 수정된 모든 저장 프로시저를 찾을 수 있습니다.

SELECT name
FROM sys.objects
WHERE type = 'P'
    AND DATEDIFF(D,modify_date, GETDATE()) < X

무료는 아니지만 Red-Gates를 사용하여 좋은 경험을 했습니다. SQL 비교 도구.과거에는 저에게 효과적이었습니다.현재 문제를 해결하기에 충분할 수 있는 무료 평가판이 제공됩니다.

다음 코드 조각을 사용할 수도 있습니다

USE AdventureWorks2008;

GO

SELECT SprocName=name, create_date, modify_date

FROM sys.objects

WHERE type = 'P' 

AND name = 'uspUpdateEmployeeHireInfo'

GO

다음 유형의 쿼리를 사용하여 수정된 저장 프로시저를 찾을 수 있습니다. 필요에 따라 7 이외의 숫자를 사용할 수 있습니다.

sys.objects에서 이름을 선택하십시오.

여러 가지 데이터베이스 비교 도구가 있습니다.제가 항상 좋아하는 것 중 하나는 SQLCompare입니다. 레드 게이트.

다음을 사용해 볼 수도 있습니다.

SELECT name
FROM sys.objects
WHERE modify_date > @cutoffdate

SQL 2000에서는 ALTER를 사용하면 날짜가 올바르게 업데이트되지 않았기 때문에 항상 작동하지 않았지만 2005년에는 문제가 해결되었다고 생각합니다.

하지만 저는 SQL 비교 도구를 직접 사용하기 때문에 그 방법을 100% 보장할 수는 없습니다.

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