2012-01-10 39 views
9

Tôi có cơ sở dữ liệu tại chỗ với ứng dụng khách có vẻ mất dữ liệu qua đêm. Họ nhập hồ sơ và thoát khỏi hệ thống, và sau đó yêu cầu bồi thường để không thể tìm thấy chúng một lần nữa vào ngày hôm sau.Thiếu bản ghi trong bảng máy chủ SQL

Số ID trong chỉ mục khóa chính của các bảng bị ảnh hưởng dường như có khoảng trống trong, khi chúng được tự động tăng lên và liên tục. Khách hàng không có cơ sở để xóa hồ sơ, do đó, có vẻ như là một vấn đề.

Tôi đã thử sử dụng DBCC CHECKDBDBCC REINDEX nhưng hồ sơ không xuất hiện lại và sự cố vẫn tiếp tục.

Mở lối ra từ 2010 ứng dụng VB.NET, tôi sử dụng sau đây để viết các bản ghi cho mỗi bảng:

Me.binds_Tablename1.EndEdit() 
Me.binds_Tablename2.EndEdit() 
TableAdapterManager.UpdateAll(Me.Dataset_1) 

Hệ thống này đã làm việc tốt trong 2 năm, nhưng bây giờ đang chơi lên. Có thể cơ sở dữ liệu tham nhũng là vấn đề?

+0

Khó để nói những gì đang xảy ra! Bạn đã sử dụng kiểm tra máy chủ sql và một đặc tả kiểm toán cơ sở dữ liệu để tìm ra ai/quy trình nào đã truy cập các bảng bằng cách sử dụng các câu lệnh xóa? – Mithrandir

+0

Không thể là cơ sở dữ liệu. Occam's Razor sẽ chỉ ra rằng nếu không phải là cơ sở dữ liệu và mã đã thay đổi gần đây thì bạn cần phải nhìn vào dữ liệu/người dùng/giai đoạn của mặt trăng vv như là một điểm khởi đầu. – Simon

Trả lời

0

Điều này dường như sắp xếp - khách hàng đang chạy ổ cứng được nhân đôi, một trong số đó đã bắt đầu để kết thúc với báo cáo lỗi SMART. Kể từ khi điều này đã được thay thế, vấn đề đã không xảy ra.

Cảm ơn sự giúp đỡ!

2

Nếu bộ nhớ phân phối, phương thức TableAdapterManager.UpdateAll() sẽ kết thúc các cập nhật trong giao dịch. Các trường gia tăng tự động tăng lên bên ngoài các giao dịch, vì vậy tôi đoán rằng một số giao dịch của bạn có thể được khôi phục.

+0

Cảm ơn, tôi sẽ kiểm tra điều này. –

3

vì đây chỉ mới bắt đầu, là nó có thể rằng họ đang bước vào năm 2012 ở đâu đó hoặc nó có liên quan đến năm 2012, có lẽ giá trị này không tồn tại trong một bảng tra cứu, giao dịch được cuộn lại

Khi một giao dịch cuộn lại giá trị nhận dạng KHÔNG được sử dụng lại, đây là lý do tại sao bạn nhìn thấy khoảng trống, bạn cần phải tìm hiểu lý do tại sao bạn có số lần quay lại

+0

Cảm ơn - sự cố thực sự đã bắt đầu vào cuối năm ngoái. Tôi sẽ kiểm tra các rollbacks mặc dù. –

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