使用msscci进行tsql源代码控制

时间:2010-05-13 11:50:22

标签: sql-server visual-studio visual-studio-2008 sql-server-2005 tfs

我安装了TFS MSSCCI,现在是什么?如何在源代码管理下使用它来表达存储过程?

谢谢, rodchar

1 个答案:

答案 0 :(得分:1)

版本控制sprocs的最佳方法是创建一个安装存储过程的SQL脚本,可能是

形式
if object_id ('FooSproc') is not null
    drop procedure FooSproc
go

Create procedure FooSproc
[ . . . ]
go

将脚本放在源代码管理中。

版本控制并发布大量存储过程代码

您可能还需要将多个脚本编译为sprocs的单个安装程序。实际上运行良好的快速而肮脏的方法是使用C预处理器和带有一堆#include语句的文件。 C预处理器附带Visual Studio或可从Microsoft网站下载的免费SDK。

-- =========================================================================
-- === Installer file for FooApp sprocs ====================================
-- =========================================================================
--
--          THIS IS GENERATED CODE.  EDITS WILL BE OVERWRITTEN.
--
-- =========================================================================
--
#include "Foo.sql"

#include "Bar.sql"

#include "Wibble.sql"

通过一些脚本编写,您可以创建一个发布管理器,它允许您检查给定版本的应用程序的所有sprocs,并将该版本安装到数据库中。当然,不要忘记更新包含文件,否则安装程序将错过任何未包含的内容。

要使用C预处理器,您需要设置环境。 Visual Studio附带一个批处理文件,通常最终会安装在以下位置:

C:\Program Files (x86)\Microsoft Visual Studio 8\VC\vcvarsall.bat

您需要运行批处理文件来设置环境,然后您可以使用如下的咒语运行C预处理器:

cl /EP DB\DB.inc > Build\DB\DB.sql

这将读取一个包含文件,包含它引用的所有文件,然后写入stdout;你可以将stdout重定向到你喜欢的任何地方。请注意,C预处理器是递归的,您可以包含其他包含文件。