在我的数据库中我遇到了问题。问题是,在一两天后,我发现一些记录丢失,我或任何用户都没有删除。如何解决这个问题请帮忙
就像我当时输入的数据一样,我的数据就是这个
Enquiry_Id Day_No Ckeck_In Destination
RH - 07/11/2013 - 1 1 2013-12-23 Cochin
RH - 07/11/2013 - 1 2 2013-12-24 Munnar
RH - 07/11/2013 - 1 3 2013-12-25 Kovalam
RH - 14/11/2013 - 2 1 2013-11-21 Thekkady
RH - 14/11/2013 - 2 2 2013-11-22 Munnar
RH - 14/11/2013 - 2 3 2013-11-23 Cochin
1或2天后,一些记录丢失
Enquiry_Id Day_No Ckeck_In Destination
RH - 07/11/2013 - 1 1 2013-12-23 Cochin
RH - 07/11/2013 - 1 2 2013-12-24 Munnar
RH - 07/11/2013 - 1 3 2013-12-25 Kovalam
RH - 14/11/2013 - 2 1 2013-11-21 Thekkady
RH - 14/11/2013 - 2 3 2013-11-23 Cochin
像第2天一样,我正在使用asp.net(C#)。请帮我解决这个问题。
答案 0 :(得分:0)
永远不会自动删除数据。它必须是特定的东西。
以下是可能造成问题的一些原因。
答案 1 :(得分:0)
那是一个奇怪的问题。我会尝试在表上实现一些日志记录,我可以看到两种方式: 1)在表上创建一个删除触发器,将日期戳和用户标记写入某个自定义日志记录表。这种方法可以提供一些基本细节。 2)打开服务器审核(SQL Server Audit)。这可能非常麻烦,但如果没有其他想法......
另外,我会检查表依赖项以找到可以从此表中删除的所有SP,这是遗忘的东西:)
答案 2 :(得分:0)
我同意Jalphesh,但如果数据保持至关重要,那么您可以使用“INSTEAD OF DELETE TRIGGER”来阻止它,它应该在发生错误时引发错误。您还可以在数据库上运行trace /(Profiler)以突出显示。触发下方:
CREATE TRIGGER IO_Trig_DEL_Enquiry ON Enquiry
INSTEAD OF DELETE
AS
BEGIN
RAISERROR ('DONT DO THIS', -- Message text.
16, -- Severity.
1 -- State.
);
END
一旦解决所有问题,删除触发器(显然)。您也可以将一些服务器信息写入数据库表以获取上下文。