[英]Track changes made to a database
背景:
我有一个MS SQL Server数据库,我想跟踪它的更改。 例如,如果需要添加或删除列或需要删除表。 与常规代码的版本控制类似。
问题:
环顾四周时,我发现可以使用一些工具:
我对知道这两个工具中的任何一个是否可以跟踪对我的数据库的更改更感兴趣。 更具体地说,我有一个TFS服务器,它是我的MVC代码的源代码控制,我可以将这两个服务器与TFS一起使用吗? 它将允许我们从旧版本还原吗? 它将允许多个开发人员同时处理数据库吗?
对于此类工作,ApexSQL源代码控制显示为您所需要的。 使用此SSMS加载项,您可以直接在数据库上工作,并且所有更改都将实时跟踪 。
是的,几个开发人员可以在同一数据库上同时工作。 当一个开发人员处理一个或多个对象时,其他开发人员可以看到那些对象,并且直到第一个对象完成更改之前,其他开发人员无法更改该对象,否则将不允许它们。 无论如何,如果对象更改错误,则可以随时还原以前的版本或任何早期版本。
该外接程序具有所有必要的选项和功能,以使开发人员可以在不浪费时间检查对对象所做的更改的情况下工作,因为该外接程序会为他们执行此操作。 而且,您始终可以看到更改的对象,时间和对象。
我已经在数据库版本控制领域工作了5年(担任DBmaestro产品管理总监 ),并且已经担任DBA超过20年了,我可以告诉你一个简单的事实,即当您处理Java时,您不能对待数据库对象, C#或其他文件,并将更改保存在简单的DDL脚本中。
原因有很多,我仅举几例:
还有很多,但我想您已经知道了。
我发现有效的方法如下:
我在此发表的一篇文章已发表在这里 ,欢迎您阅读。
如果您正在寻找一种产品,该产品将自动从您的SQL Server跟踪到TFS中的更改,我邀请您来看看我们的产品Sql Historian 。 它与大多数其他SQL版本控制系统(包括您列出的版本)不同,因为它不需要开发人员执行签入仪式以将版本控制与已提交给数据库的内容同步。
但是,Sql Historian和您提到的其他两个系统具有的共同功能是:使用TFS,查看数据库对象的旧版本的功能以及允许多个用户同时在数据库上使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.