插入和提交后,行从SQL Server表中消失

时间:2018-06-18 17:59:24

标签: sql sql-server transactions sql-insert commit

我有一个只有一列的SQL Server表,下面是我用来插入数据的查询。我总是" COMMIT TRAN"在插入行之后,但是在插入/ commit tran后几天,新添加的行消失了。我从来没有遇到任何其他表的这个问题,我经常使用这些事务语句。任何人都可以帮助解决为什么这个表一直在发生这个问题?

这是我运行的查询:

Begin tran
    insert into ur77_licensee ([licensee name])
    values ('8210 - J.Crew')

    select * 
    from ur77_licensee
    where [licensee name] like '%8210%'

commit tran

1 个答案:

答案 0 :(得分:0)

你必须建立某种审计系统,这将是一个相当大的挑战。您的代码不会导致删除。我的猜测是做某种维护工作,但谁知道呢?我会:

  • 将表上的权限更改为仅允许特定用户进行更改
  • 让您的代码使用该用户
  • 等待有人抱怨他们不能再删除

如果每个人都以管理员身份运行,那么......这就是为什么你没有让每个人都以管理员身份运行的原因!

或者你可以:

  • 创建删除触发器。当一个项目被删除后,它会插入一个删除表中,这至少会让你看到发生时。