2

Visual Studio 2010에서 SQL Server 2008 데이터베이스 프로젝트를 작업하면서 기존 저장 프로 시저 정의에 새 매개 변수를 추가했습니다. 프로젝트를 만들 때 프로젝트의 다른 곳에서 sproc에 대한 참조에 충분한 매개 변수가 없다는 사실을 감지하지 못했습니다. 심지어 프로젝트를 배포 할 수도 있습니다.Visual Studio DB 프로젝트가 저장 프로 시저 매개 변수의 변경 내용을 검색하지 못합니다. 그게 정상인가요?

이것은 행동을 의미하는 방식입니까, 어딘가에 상자를 체크하는 것을 잊어 버렸습니다.

샘 :)

프로젝트 데이터베이스가 변경된 것을 알지 못한다) 다시 끌어 후 VS 서버 탐색기에서 SPROC을 삭제하여 (코드 생성 마법사를 다시 실행하지 않는 한

답변

3

데이터베이스 프로젝트는 프로 시저/함수 매개 변수의 문제점을 감지하지 않습니다. 또한 프로젝트에서 불쾌한 프로 시저/함수를 함께 삭제할 수 있으며 실패하지 않습니다.

필자의 경우 프로그래머 빌리티를 관리하기 위해 외부 도구를 사용하므로 procs가 없기 때문에 빌드를 실패하지 않는 것이 좋습니다.

절차 및 기능의 유효성을 검사하려면 "SET FMTONLY ON"을 사용하여 모든 저장 프로 시저를 실행할 스 핏글을 작성할 수 있습니다. 프로 시저가 컴파일되지만 실행 중에 DB를 영구적으로 변경하지 않습니다. 임시 테이블을 사용하는 프로 시저 (#table 구문)에서는 사용할 수 없습니다.

Microsoft가 Visual Studio에서 저장 프로 시저의 결과물을 결정하는 방법입니다.

+0

와우, 훌륭한 답변! 감사. 관심없는 외부 도구는 무엇입니까? – samaspin

+0

내 친구가 저장된 procs/functions를 XML 코드 스텁으로 관리하기 위해 작성한 프로그램. 관심이 있으시면 사본을 보내 드리겠습니다. –

+0

예, 감사합니다. 저에게 멋진 사본을 보내 주시면 감사하겠습니다! 나는 당신이 그것을 어떻게 사용하고 있는지 정말로 이해하지 못하고 있지만, 항상 물건을 관리하는 새로운 접근법에 관심이 있습니다! – samaspin

0

. 런타임 오류가 발생하지만 오류는 컴파일되지 않을 수 있습니다.

변경 사항을 모르는 경우 정상적으로 컴파일됩니다. 그래서 예, 그렇게 행동해야합니다.

+0

Visual Studio 내에서 개발 중이므로 Visual Studio 프로젝트 내에서 sproc을 수정하고 프로젝트를 저장했습니다. Management Studio에서 변경을 수행했다면 제거하고 다시 추가해야한다는 점에 동의 할 것입니다. – samaspin