2013-06-06 1 views
18

오늘까지 Visual Studio 2012의 스키마 비교 기능을 사용하여 데이터베이스 프로젝트에서 데이터베이스를 업데이트 할 수있었습니다. 하지만 지금은 한 프로젝트에서 비교할 수 있지만 업데이트 버튼은 회색으로 표시됩니다.스키마 비교로 업데이트 할 수 없음

나는 다른 데이터베이스를 업데이트하는 다른 프로젝트를 사용할 수,하지만이 프로젝트에서 나는 어떤 데이터베이스를 업데이트 할 수 없습니다. 오류가 발생하지 않으며 기능을 사용할 수 없습니다.

게시 사용은 여전히 ​​작동합니다. 또한 데이터베이스에서 프로젝트를 업데이트하는 것은 다른 방법이 아닙니다.

스키마 비교를 통해 데이터베이스를 업데이트 할 수없는 이유를 아는 사람이 있습니까?

+1

[스키마 비교 후 대상 업데이트 버튼을 사용할 수 없습니다.] (http://stackoverflow.com/questions/17742638/update-target-button-is-disabled-after-schema-comparison) –

+0

답변이었습니다. 나를 위해 : http://stackoverflow.com/a/32912849/441862 –

답변

32

화면 하단에 상태 메시지가 표시되면 비교 한 후 화면을 확인하십시오. 데이터베이스 프로젝트에 컴파일 오류가있는 경우이 문제를 보았습니다. 오류가 해결되면 비교 대화 상자를 닫았다가 다시 엽니 다. 비교를 다시 실행하면 업데이트 버튼을 다시 사용할 수 있습니다.

+2

"업데이트"버튼을 사용할 수없는 경우가 대부분입니다. 오류를 해결하고 단추가 다시 나타납니다. 감사! – maulik13

+1

당신은 쿠키를받을 자격이 있습니다. 이것은 항상 보이지는 않습니다 (때때로 오류 목록 창이 다른 창/탭에 의해 숨겨 짐). 그냥 가서 확인하십시오. 나는 VS가 사용자에게 이것에 대해 경고했으면 좋겠다. – tfrascaroli

1

동일한 문제가 발생했습니다. 위에서 언급했듯이 일반적인 Visual Studio 오류 목록에는 업데이트를 차단하는 오류 목록이 표시되지만 경고도 있습니다. 기본적으로 사용하도록 설정되는 옵션 중 하나는 데이터 손실로 인해이 차단된다는 것입니다. 그것이 문제이다. 경고 상태 일 뿐이므로이 플래그를 변경하지 않으면 가능한 모든 데이터 손실이 기능상 오류입니다.

IMHO, 이것은 MS의 부분에 매우 심각한 UI 실패이지만, 어쩔거야?

0

모든 SQLCMD 변수에 기본값이 있어야합니다.

솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택하십시오. 왼쪽에있는 탭

는 변수를 SQLCMD 제공된 컬럼에 디폴트 값 (들)을 입력하십시오.

스키마를 실행 한 후 다른 시간을 비교 한 후에는 업데이트 버튼을 사용할 수 있습니다.

1

나를 위해 일한 것은 스키마를 포함하고있었습니다. 특정 테이블/프로 시저 등을 포함하도록 선택했습니다. 테이블 및 프로 시저가 포함 된 스키마에도 체크 표시가 없으면 가져 오기에는 요소가 포함되지 않습니다.

+0

어떤 스키마가 포함되어 있습니까? – Suncat2000

6

데이터베이스 사용자와 데이터베이스 스키마를 확인해야합니다. 종종 DB 사용자가 데이터베이스 프로젝트에서 올바르게 복제되지 않으면 스키마 비교가 작동하지 않습니다.

+0

감사합니다. 이것은 나를 위해 일했다. – adam0101

+0

특히 이것은 데이터베이스 프로젝트를 데이터베이스에서 새로 가져온 경우에도 발생할 수 있습니다. 또한, 제 경우에는 업데이트를 쳤을 수 있습니다. 단지 아무 것도하지 않을 것입니다. 행동은 VS 2015와 2017에서 동일했습니다. – John

4

나를 위해 오류 목록 창 및 출력 창에 나는 여전히 출력 창에서 오류를 볼 수 있습니다 (그러나하지 않았다, 단지 내가 표적으로 한 데이터베이스 프로젝트를 구축 한 후 비주얼 스튜디오 2015에서 아무것도 표시되지 않았다 오류 목록 창). 이러한 오류를 수정 한 후에는 업데이트 버튼이 더 이상 회색으로 표시되지 않습니다.

관련 문제