MSSQL数据库级版本控制

时间:2014-01-29 08:30:44

标签: sql-server database version

理想情况下,您应该熟悉MSSQL Row-Level Versioning

我的问题是,是否存在现有机制(或者是否可以创建类似的东西)来获取数据库版本?我更喜欢增量数字(如ROWVERSION)但我对完成修改数据库的最后一个查询的哈希(INSERTUPDATE)非常满意。

1 个答案:

答案 0 :(得分:1)

没有任何内置可以让你这样做。

你可以在每个表上有一个触发器,用于删除,插入和更新,它会更新一个表上有一行的单个列,每次增加1,但这将成为瓶颈并降低性能。我不推荐它。

或者,您可以对mdf和ldf文件上的上次修改时间执行某些操作,但是您可能需要提升访问权限才能获得该内容,并且它不会绑定到任何单独的SQL语句。它也不会考虑SQL已缓存但尚未编写的任何内容,因此它可能无论如何也无法正常工作。

所以,我无法看到一种可靠且非侵入性的方法。但是,我实际上无法理解为什么你需要 - 对于版本= 123456的东西怎么办?如果是版本= 123457怎么办?