【问题标题】:Data lost from table on SQL ServerSQL Server 上表中的数据丢失
【发布时间】:2011-07-12 07:01:15
【问题描述】:

我在 SQL Server 2005 上的一个数据库有一些奇怪的行为,我创建了一个应用程序来存储一些数据,我只有 1 个用于客户查询的存储过程,其中我只有一些选择(没有删除或更新操作)但出于某种原因,在随机时刻(我还没有找到发生这种情况的确切时刻)我的 2 个重要表中的数据以某种方式被删除了,并且这些表只保留了几行。

我使用 Mygeneration 将 tha 数据库映射到 .NET 上的对象上,并且我的方法只在必要时删除一行,有时当我在 SQL Server 2005 Managment studio 上进行一些查询时,数据库没有完成查询它没有响应。

我不知道为什么会发生这种情况,这让我在工作中有些头疼。我会为此提供一些帮助。谢谢。

【问题讨论】:

  • 您是唯一可以访问此数据库的人吗?其他人是否能够针对它运行查询?它最近是否从旧备份中恢复?
  • 没有人使用数据库,只有我,是的,我正在测试一个应用程序,所以我已经恢复了几次数据库。
  • 因此,您完全有可能从没有这些行的备份中恢复。
  • 事实并非如此,因为这些行会立即被删除,比如我正在查询,一切都很好,然后我再次查询,数据丢失了。之间没有恢复。
  • 在您的任何表上执行删除的任何触发器?

标签: .net sql sql-server-2005 mygeneration


【解决方案1】:

您需要找出谁在执行删除操作。创建一个FOR DELETE 触发器,它将getutcdate()、SUSER_SNAME()、@@SPID 和其他有趣的信息记录到另一个表中以进行每次删除。

但是我怀疑您的数据库正在被 MyGeneration 完全删除并重新创建,也许每次您都重建所有数据库时?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    相关资源
    最近更新 更多