사용자의 도움과 안내가 필요한 Sync에서 직면하는 문제를 이해해 주시기 바랍니다.동일한 데이터가 클라이언트와 서버에 모두 존재하는 경우 동기화 프레임 워크에 삽입 충돌이 너무 많음
우리가 가지고있는 것 : 1) 6 개의 공통 범위와 8 개의 템플릿 기반 범위 (CLIENT 테이블의 CLIENTID 열을 기준으로 매개 변수화)로 50 개의 동기화 된 테이블. 2) 다른 PC에서 SQL Azure로 동기화해야합니다. 3) C# WPF 앱에서 클라이언트 (CLIENTID)를 선택하고 동기화 설정 (프로비저닝)을 실행 한 다음 메서드를 사용하여 동기화 프로세스를 시작합니다.
우리는 매우 자주 직면합니다. 1) 네트워크 연결 문제/시간 초과 문제로 인해 n 번째 클라이언트에서 이미 동기화 된 클라이언트가 거의 없습니다. 앱을 닫아야합니다. 특정 클라이언트에서 프로비저닝을 다시 실행하면 Selectchanges 또는 bulkInsert가 누락되었다는 예외가 발생합니다.
2) 위의 경우, 우리는 de-StoreProvision을 사용한 다음 다시 제공합니다. 이로 인해 클라이언트와 서버는 동일한 데이터 집합을 갖게됩니다. 동기화를 진행하면 INSERT CONFLICTS를 많이 사용하여 오류를 완료하는 데 7 시간이 걸립니다.
그래서 동기화가 진행되는 동안 네트워크 연결이 실패하면 성공적으로 실행 된 범위에서 COMMIT가 발생합니까? 또는 잘 실행 된 스코프가 부분 동기화를 남겨 둡니까? 전자 조항 및 재 규정 이외의 삽입 충돌 수를 제거 할 수있는 방법이 있습니까?
감사합니다.
의견을 보내 주셔서 감사합니다. – Raman
제안 해 주셔서 감사합니다. 네가 무슨 말을 하려는지 알 겠어. 과거에는 상점 전체를 프로비저닝하지 않았지만 이제는 특정 범위 (일반적인 범위 포함)를 해제합니다. 문제는 설치하는 동안 내 앱이 손상되거나 인터넷 연결이 개가되어 설치 프로그램을 다시 시도했지만 http://screencast.com/t/bgwWyw6PQF와 같은 오류 메시지가 표시되면 이후 문제가 발생했습니다. 특정 범위의 프로비저닝을 해제하고 다시 프로 비전해야했습니다. 이로 인해 많은 인서트 충돌로 5 배나 많은 시간을 소비하게되었습니다. 클라이언트와 서버가 이미 동기화되었다는 것을 이해하도록 SQL에서 실행할 수있는 스크립트가 있습니까? – Raman
설치가 실패하고 다시 동기화하려고 할 때 또 다른 오류가 발생합니다. http://screencast.com/t/aAPeAjf5JfP – Raman