2013-07-24 1 views
1

현재 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를 삭제하는 방법을 배우는 편이 낫다. 스크립트 가져 오기를 통해 단순히 객체 삭제를 지원하지 않습니까?

+0

프로젝트와 비교하여 데이터베이스에서 SQL 스키마 비교를 시도해 보셨습니까? 그렇게하면 여러 개체를 쉽게 삭제할 수 있습니다. (슬프게도 가져 오기를 통해 개체를 삭제해도 작동하지 않으며 ALTER 문도 수행되지 않습니다.) 일회성 작업 인 경우 로컬 데이터베이스를 구축하고 Red-Gate 스크립트를 실행 한 다음 SQL Project를 사용하여 개체를 생성/업데이트/삭제할 수 있습니다. 계속 진행 중이면 다른 솔루션이 필요하지만 최소한 시작할 수는 있습니다. –

+0

그건 실제로 좋은 생각입니다! 우리는이 시점에서 모든 스크립트를 조정 했으므로 잠시 동안 테스트 해 볼 기회가 없지만, 응답으로 제출하면 분명히 그것을 업 그레 이드 할 것입니다. 대답. – bwerks

+0

@bwerks - 결국이 작업이 만족스럽게 이루어 졌습니까? 데이터베이스 프로젝트와 함께 레드 게이트 도구를 사용해보고 싶다면 Red-Gate.com의 David.Atkinson에 문의하십시오. 기꺼이 도와 드리겠습니다. –

답변

2

SQL 스키마 비교를 프로젝트에서 데이터베이스와 비교해 보았습니까? 그렇게하면 여러 개체를 쉽게 삭제할 수 있습니다. (슬프게도 가져 오기를 통해 개체를 삭제해도 작동하지 않으며 ALTER 문도 수행되지 않습니다.) 일회성 작업 인 경우 로컬 데이터베이스를 구축하고 Red-Gate 스크립트를 실행 한 다음 SQL Project를 사용하여 개체를 생성/업데이트/삭제할 수 있습니다. 계속 진행 중이면 다른 솔루션이 필요하지만 최소한 시작할 수는 있습니다.