理想情况下,您应该熟悉MSSQL Row-Level Versioning。
我的问题是,是否存在现有机制(或者是否可以创建类似的东西)来获取数据库版本?我更喜欢增量数字(如ROWVERSION
)但我对完成修改数据库的最后一个查询的哈希(INSERT
或UPDATE
)非常满意。
答案 0 :(得分:1)
没有任何内置可以让你这样做。
你可以在每个表上有一个触发器,用于删除,插入和更新,它会更新一个表上有一行的单个列,每次增加1,但这将成为瓶颈并降低性能。我不推荐它。
或者,您可以对mdf和ldf文件上的上次修改时间执行某些操作,但是您可能需要提升访问权限才能获得该内容,并且它不会绑定到任何单独的SQL语句。它也不会考虑SQL已缓存但尚未编写的任何内容,因此它可能无论如何也无法正常工作。
所以,我无法看到一种可靠且非侵入性的方法。但是,我实际上无法理解为什么你需要 - 对于版本= 123456的东西怎么办?如果是版本= 123457怎么办?