현재 SSDT를 채택하면서 프로젝트 진행 중에 RedGate SqlCompare로 생성 된 사용자 지정 스크립트로 새 sqlproj를로드하고 있습니다. 그러나 나는 SSDT가 ScriptIgnoredOnImport 파일에 상당히 많은 것을 뱉어 버린다는 것을 다소 짜증스럽게 생각한다.스크립트를 가져올 때 SQL Server 데이터 도구가 Drop 문을 이해하지 못하는 이유는 무엇입니까?
SSDT의 작업을 돕기위한 몇 가지 해결 방법이있는 것 같습니다. 예를 들어, 레드 게이트 (RedGate)가 제시하는 상용구 트랜잭션을 제거하면 스크립트를 통해 정렬하는 데 도움이되는 것처럼 보입니다. stored procs의 경우 모든 ALTER PROCEDURE 명령을 CREATE PROCEDURE로 변경하면 SSDT가 이전 파일을 체크 아웃하고 새 파일로 이전 파일을 덮어 쓰는 것처럼 보입니다.
그러나 DROP 문 (테이블, 프로 시저 등)을 사용하는 모든 것에 대해 필자는 내 인생에서 단순히 파일을 삭제할 수 없습니다. 그리고 ~ 1000 개체의 정리에 관해서는, 나는 수작업과 관련된 것을 고려할 수 없습니다.
그러므로 지금까지 필자는 PowerShell을 사용하여 ScriptsIgnoredOnImport 파일을 찢어 내고 DROP PROCEDURE와 일치하는 각 줄에 tf delete
을 호출하는 것에 의지했지만 실제로는 너무 느리다는 것은 말할 것도 없습니다.
나는 SSDT를 삭제하는 방법을 배우는 편이 낫다. 스크립트 가져 오기를 통해 단순히 객체 삭제를 지원하지 않습니까?
프로젝트와 비교하여 데이터베이스에서 SQL 스키마 비교를 시도해 보셨습니까? 그렇게하면 여러 개체를 쉽게 삭제할 수 있습니다. (슬프게도 가져 오기를 통해 개체를 삭제해도 작동하지 않으며 ALTER 문도 수행되지 않습니다.) 일회성 작업 인 경우 로컬 데이터베이스를 구축하고 Red-Gate 스크립트를 실행 한 다음 SQL Project를 사용하여 개체를 생성/업데이트/삭제할 수 있습니다. 계속 진행 중이면 다른 솔루션이 필요하지만 최소한 시작할 수는 있습니다. –
그건 실제로 좋은 생각입니다! 우리는이 시점에서 모든 스크립트를 조정 했으므로 잠시 동안 테스트 해 볼 기회가 없지만, 응답으로 제출하면 분명히 그것을 업 그레 이드 할 것입니다. 대답. – bwerks
@bwerks - 결국이 작업이 만족스럽게 이루어 졌습니까? 데이터베이스 프로젝트와 함께 레드 게이트 도구를 사용해보고 싶다면 Red-Gate.com의 David.Atkinson에 문의하십시오. 기꺼이 도와 드리겠습니다. –