Source Safe是一款商用软件,但在试用阶段不限制任何功能。您可以在单人模式最多记录30条版本记录,团队模式记录最多50条版本记录。这些条数已经足够大多数用户对软件进行完整的评估并在生产环境进行一定时间的SQL版本管理。
Source Safe的收费模式是按照每客户端收费。
安装教程:
因为大家都对同一个测试库做修改,经常出现不同开发人员的存储过程互相覆盖的情况,拖慢了开发进度,通过在网上的查找
找到了一款Source Safe for SQL Server来协助我们解决该类问题,下面简单写一下我们如何使用Source Safe for SQL Server保存历史数据库对象定义。
一路下一步安装完成后,在需要添加到版本控制的数据库上右键,选择“添加数据库到版本控制”
步骤一:
步骤二:
在弹出界面中填上存储数据库版本控制的数据库
步骤三:
完成后,弹出受版本控制的数据库对象
步骤四:
下面,尝试修改一个存储过程。Dbo.uspLogError,修改完成后在Management Studio里看到存储过程会自动更改为签出状态
步骤五:
在存储过程上右击,点击签入
步骤六:
然后在弹出菜单中,点击签入
步骤七:
签入完成后,在存储过程上右击,点击历史记录
就可以看到
1、由哪一位开发人员修改?
2、在什么时间修改?
3、修改了什么?
步骤八:
直接双击uspLogError存储过程,就可以查看uspLogError存储过程两次修改变更的部分。
总结
经过上面的几个步骤的操作,对这个工具的功能已经一一介绍,功能虽小,但是五脏俱全o(∩_∩)o
以后将存储过程纳入版本控制,对SQL Server进行版本管理就方便很多了
功能特点:
无法在数据库层面进行团队协作:开发人员A对存储过程的修改导致开发人员B创建的存储过程被覆盖,从而无法比对和追踪。通过SourceSafe记录不同版本的差异部分,帮助开发人员快速查找和比对数据库不同版本的对象,从而使得在数据库层面进行团队协作变得可能。
开发人员-开发DBA-测试人员难以协作:SVN等版本工具是基于文件的,很难在数据库层面进行版本控制。Source Safe可以无缝集成于现有的SVN环境,打通开发人员、开发DBA、测试人员之间的协作。
数据库发生的变更难以追踪:现有的技术无法追踪由谁、在什么时间、对数据库修改了什么,当发生由数据库层面引起的报错或性能下降时,难以排查。利用SourceSafe的版本差异比对功能,可以轻松定位版本之间变更的部分,快速找出导致数据库问题的根源。
无法记录对数据库变更的过程资产:数据库变更的历史记录只有数据库运维人员了解,当该相关人员离职或调岗,这些过程资产难以继承。利用SourceSafe的历史记录功能,任何有权限的人都可以看到数据库变更的完整历史记录,从而使得数据库过程资产的保存和传承成为可能。
审计数据库成本高:现有的数据库审计功能往往依赖于日志,对性能造成很大影响。SourceSafe使用独立的版本记录引擎,从而既不影响被审计数据库的性能,也不会与复制等数据库功能产生冲突。
SQL脚本无法有效管理:现有的做法往往是将SQL以文件形式保存,无法有效管理和共享。利用SourceSafe内建于数据库中的脚本管理组件,不仅可以有效管理脚本,并且还能以库为单位在团队中共享脚本。
无法查看被加密的数据库对象:当需要对加密的数据库对象进行修改时,如果无法找到对象定义的原始记录,则必须重写该对象。利用SourceSafe的透明解密功能,再也不用担心无法对加密存储过程进行修改的问题。
SVN建立和使用复杂:SVN使用流程对于数据库人员过于繁琐,为数据库人员增加了额外的工作负担。SourceSafe的安装非常简便,且操作直接集成在数据库中,极大的简化了版本管理的复杂度和工作量。
由于数据库是整个业务应用的核心,上述问题无论是在开发环境还是在生产环境如果得不到有效的解决,会造成生产力低下、过程资产无法得到管理、数据库审查无法进行、难以排查由数据库变更导致的问题等情况。
Source Safe for SQL Server 产品概述:
格瑞趋势的Source Safe For SQL Server(以下简称Source Safe)的出现能够解决上面提到的所有问题,Source Safe是一款无缝集成到SQL Server Management Studio的源代码控制软件,且不依赖于任何SVN等源代码控制工具软件,可以为数据库的。该工具有如下特性:
对数据库对象和数据进行版本控制
直接集成于SQL Server Management Studio
不依赖于第三方SVN等版本管理工具
与SVN/TFS/VSS等版本控制软件无缝集成
对比查看版本库中与当前数据库中的SQL差异
将常用SQL存入Source Safe中以提高生产力
查看版本历史记录并访问特定版本的数据库对象
使用自定义过滤工具过滤不需要查看的对象
直接查看不同版本对象之间的差异部分
透明解密被加密的数据库对象
分为团队模式和个人模式,适应多种应用场景
部署非常容易