Đây không phải là truy vấn. Một bản tóm tắt giải pháp của chúng tôi để giải quyết vấn đề tham nhũng trong các tệp cơ sở dữ liệu SQL Compact với thành công nhất định (gần như). SQLCE Tham nhũng là một vấn đề rất phổ biến. Chúng tôi đã nhận được sự trợ giúp to lớn từ các bài đăng trước đó trong StackOverflow và do đó, bài đăng này.giải quyết tham nhũng trong các tệp cơ sở dữ liệu SQL Server Compact Edition
Sản phẩm của chúng tôi là kiến trúc 3 tầng với máy chủ đang chạy dưới dạng Dịch vụ Windows được kết nối với Rich Clients thông qua .Net Remoting. Sản phẩm của chúng tôi sử dụng SQLCE từ năm 2006. Chúng tôi đã chuyển từ v3.1 sang v3.5 và bây giờ là v4.0. Chúng tôi có một công cụ OR-Mapping tùy chỉnh cho một số yêu cầu rất cụ thể. Chúng tôi đã phải đối mặt với vấn đề giới hạn với v3.1, chúng tôi đã phải đối mặt nhiều hơn với v3.5 và v4.0.
Ban đầu với v3.5, chúng tôi đã triển khai SqlCeEngine.Repair
. Nhưng nó chỉ làm giảm dữ liệu bị hỏng và cố gắng tạo lại một db ổn định. Chúng tôi nhận thấy rằng các khóa ngoại của các bảng bị ảnh hưởng bị mất. Chúng tôi phải làm điều này ngay lập tức. Chúng tôi bắt đầu thông báo cho người dùng về tham nhũng db và khôi phục bản sao lưu cuối cùng. Điều này chỉ cung cấp cứu trợ tạm thời; vấn đề tham nhũng vẫn đứng vững.
Năm nay, chúng tôi đã thông qua v4.0. Tuy nhiên, ứng dụng của chúng tôi cũng giới thiệu một số tính năng mới giúp tăng đáng kể số lượng cuộc gọi cơ sở dữ liệu. v4.0 bắt đầu tốt, nhưng bắt đầu đưa ra các vấn đề khi sử dụng phần mềm tăng lên. Tham nhũng xảy ra trong khi ứng dụng đang chạy không gây ra bởi Windows bị lỗi, tắt máy bất thường hoặc các vấn đề về đĩa. Cơ sở dữ liệu chỉ bị hỏng.
Các bài tiếp theo bao gồm các giải pháp mà chúng tôi đặt ra cho vấn đề này:
Bạn có thể mô tả vấn đề chi tiết hơn, sau đó chuyển giải pháp xuống một câu trả lời? Cảm ơn. –