5

Chúng tôi đang phải đối mặt với vấn đề này sau đó liên quan đến việc giữ sau đồng bộ:Nightmare Sync - có thể sử dụng Merge Replication (hoặc RDA) giữa 2 trường hợp SQL CE không có IIS không?

  • 1 trung Server (IIS/MSSQL 2005)
  • Nhiều khách hàng Desktop WPF phân phối bởi ClickOnce
  • Nhiều khách hàng di động - (windows CE)

alt text http://img502.imageshack.us/img502/8246/deployment.png

Với những khó khăn gai góc:

  • tất cả các mối quan hệ đồng bộ là bi-directional
  • desktop & nút di động đòi hỏi chế độ offline
  • các nút di động không thể đồng bộ với máy chủ trung tâm nhưng để đồng bộ với các nút máy tính để bàn thông qua cổng USB. Các nút trên máy tính để bàn hoạt động như một máy chủ cho các máy khách di động chứ không phải máy chủ trung tâm. Các cập nhật từ các nút di động sau đó cần truyền đến máy chủ trung tâm nhờ vào việc đồng bộ với máy tính để bàn và sau đó đồng bộ hóa máy tính để bàn đó với máy chủ trung tâm. phew.

Khó chịu.

Để đồng bộ hóa máy tính để bàn và máy chủ, chúng tôi biết chúng tôi có thể sử dụng Hợp nhất nhân rộng - máy chủ là nhà cung cấp, máy tính để bàn làm người đăng ký, tất cả đều tốt. NHƯNG những gì về việc đồng bộ hóa các nút trên thiết bị di động và máy tính để bàn? Dường như Máy tính để bàn không thể là nhà xuất bản không có máy chủ SQL + ISS, phải không? Chúng tôi chỉ có thể triển khai MSSQL CE cho máy tính để bàn.

Ngay cả khi đây là trường hợp, một nút có thể là cả người đăng ký và nhà xuất bản không? Tôi nghi ngờ rằng sự sắp xếp này không được hỗ trợ bởi kiến ​​trúc nhân bản hợp nhất - dường như trung tâm và nói là mô hình duy nhất được hỗ trợ.

Chúng tôi đang cố gắng xác định xem chúng tôi có thể loại bỏ RDA hoặc Hợp nhất nhân rộng thành giải pháp khả thi hay không - nếu có, chúng tôi có thể sẽ theo đuổi Khung đồng bộ MS.

Có lẽ có những công nghệ khác mà chúng tôi có thể xem xét?

Cảm ơn tất cả,

Ashley

UPDATE: chúng tôi đã chỉ mới bắt đầu có một vở kịch với MS Sync Framework và nó đá!

+0

Chỉ cần làm rõ: bạn cần ứng dụng khách di động có thể đồng bộ hóa với máy tính để bàn khi máy tính để bàn ngoại tuyến? Bởi vì nếu máy tính để bàn trực tuyến khi máy khách di động đồng bộ với nó (sử dụng ActiveSync, tôi đoán?), Thì máy khách di động cũng có thể "xem" máy chủ. – MusiGenesis

+0

Vâng - nhu cầu di động để có thể đồng bộ với máy tính để bàn (máy tính xách tay trường) khi nó cũng đang ngoại tuyến. Tôi ước chúng ta có thể bám vào trung tâm và nói - sẽ đơn giản hơn rất nhiều. –

+0

Trái ngược với trung tâm của ol và các nan hoa có trung tâm (với nan hoa!) –

Trả lời

7

Vì lý do không liên quan trực tiếp đến câu hỏi cụ thể của bạn, tôi nghĩ bạn có thể tiếp tục và loại bỏ RDA/Hợp nhất nhân rộng như một giải pháp khả thi. Microsoft không quảng cáo điều này (vì lý do rõ ràng), nhưng việc nhân rộng hợp nhất không đáng tin cậy 100% trong điều kiện kết nối mạng có thể bị ngắt ở giữa quá trình sao chép (xảy ra khá thường xuyên với các máy khách Windows Mobile).

Kết quả của sự cố này là các thay đổi được thực hiện cho cơ sở dữ liệu khách hàng đôi khi không được truyền đầy đủ tới cơ sở dữ liệu chính, nhưng bạn không nhận được dấu hiệu cho thấy điều này đã xảy ra. Như bạn có thể tưởng tượng, đây là một điều xấu, đặc biệt là nếu bạn bán khách hàng của bạn trên giải pháp này dựa trên giả định rằng RDA hoạt động như quảng cáo.Giải pháp ngắn hạn duy nhất chúng tôi tìm thấy cho vấn đề này là thực hiện một quá trình dự phòng kép rất phức tạp để xác nhận rằng mỗi bản ghi được thêm vào hoặc sửa đổi trên máy khách đã đưa nó vào máy chủ mà không có lỗi. Giải pháp lâu dài là không bao giờ sử dụng RDA nữa.

Sự cố này có thể đã được khắc phục trong các phiên bản RDA gần đây (sự cố của chúng tôi xảy ra với phiên bản mới nhất 2 năm trước), nhưng tôi sẽ không bao giờ biết (một lần bị cắn hai lần nhút nhát).

Cập nhật: bằng cách này, tôi đã có nhiều người tôi đã nói chuyện với về vấn đề này (bao gồm cả techs hỗ trợ của Microsoft) phủ nhận rằng đây có thể có thể là đúng, nhưng nó rất dễ dàng để xác minh: thêm một loạt các dữ liệu trên khách hàng, sau đó bắt đầu sao chép, sau đó giật cáp USB ra khỏi thiết bị (giả sử khách hàng của bạn là Windows Mobile kết nối thông qua ActiveSync) trong khi ở giữa này.

Nếu tôi có vẻ hơi miffed, đó là một phần vì đây là những gì công nghệ MS cuối cùng đã buộc phải nói (báo giá thực tế): "tốt, chỉ cần giữ lại - dữ liệu sẽ hợp nhất cuối cùng".

1

Khám phá Collaboration Scenarios (Đồng đẳng với ngang hàng) trong Microsoft Framework 2.0. Các nhà cung cấp được bao gồm ở đó cho phép hai cơ sở dữ liệu SQL Server Compact được đồng bộ hóa trực tiếp. Họ cũng có thể đồng bộ hóa trực tiếp với các nhà cung cấp khác.

Các vấn đề liên quan