2016-09-29 3 views
-2

Visual Studio (2013 또는 2015 둘 다 동일) SQL 스키마 비교, SQL 2008의 한 데이터베이스에서 스키마를 데이터베이스로 복사하려고합니다. sql 2014. 2008 년 -> 2008 년은 정상적으로 작동하지만 2014 -> 2014 년은 정상적으로 작동합니다.하지만 2008 년 -> 2014 년을 갈 때는 작동하지 않습니다. 비교 및 타격 업데이트를 실행 한 후 "Schema Compare generate Script (db1> db2)"가 표시되고 결국 Visual Studio에서 작업량이 많고 완료되지 않을 때까지 기다립니다. 어떤 시점인지를 설명하는 로그를 찾을 수 없습니다 대신 "업데이트"시도 "스크립트 생성"타격의? 어떤 제안 내가 호환성 문제를 무시하려고 노력하지만 그것을 해결되지 않는 옵션에서SQL 스키마 한 SQL 버전에서 다른 버전으로 작동하지 않음

.. 하나에

답변

1

이것은 스키마 비교 버그 일 수 있습니다. 먼저 SQL Server 도구의 최신 버전을 사용하고 있는지 확인하십시오 (여기에서 다운로드 할 수 있습니다 : https://msdn.microsoft.com/en-us/library/mt204009.aspx)

그런 다음 문제가 지속되면 아래 지침을 사용하여 추적 로그를 캡처하고 문제를 설명하는 연결 문제를 열어서 https://connect.microsoft.com/SQLServer/feedback/CreateFeedback.aspx에 추적 로그를 포함 시키십시오. "Developer Tools (SSDT , BIDS 등) "

  • 열기 SSDT

    관리자 권한으로 새로운 명령 프롬프트에 대한 이벤트 로그를 수집. 만들 Logman은 추적 -n SSDTDebug -p ":
  • 실행이 명령은 DacFxDebug -p"마이크로 소프트 SQLServerDataTools "0x800과 같습니다 -o"% LOCALAPPDATA % \ DacFxDebug.etl "
  • 그런 다음이 명령을 실행 -ets -n 추적을 만들 때는 Logman Microsoft-SQLServerDataToolsVS "0x800 -o"% LOCALAPPDATA % \ SSDTDebug.etl "-ets
  • SSDT를 실행하고 문제를 재현하십시오.
  • 명령 프롬프트로 이동하고 다음 명령을 실행합니다 Logman은 정지 DacFxDebug이 Logman은 정지 SSDTDebug이
  • 결과 ETL 파일
  • 은 % LOCALAPPDATA % \ SSDTDebug.etl & % LOCALAPPDATA % \에 위치 할 -ets -ets를 DacFxDebug.etl.
+0

첫 번째 명령의 경우 두 명령으로 분리 한 후 두 번째 명령은 알 수 없지만 첫 번째 명령에 대해서는 작동합니다. -ets없이 실행하면 정상적으로 실행됩니다. – Dispersia

+0

그냥 알아 냈어 - 두 번째 명령에 카피 붙여 넣기는 a를 하나의 것으로 바꾸고 유효하지 않은 프로그램이지만 지금은 그것을 실행하고있다. – Dispersia

+1

다른 곳에서 복사/붙여 넣기 한 위의 텍스트를 편집 했으므로 StackOverflow의 서식이 잘 작동하지 않습니다. –

0

를 부착 한 다음에 스크립트를 실행 대상 데이터베이스.

+1

둘 다 똑같은 일을하지만, 그 시점까지 도달하지도 않습니다. 일반적으로 두 줄은 그 줄에 나타나는 창에서 그 아래에 나타나지만 둘 다 나타나지 않습니다. 미리보기를 사용하지 않고 스크립트를 생성합니다. – Dispersia

관련 문제