【问题标题】:What is the best source control for SQL Server?SQL Server 的最佳源代码控制是什么?
【发布时间】:2017-10-24 15:30:09
【问题描述】:

我们为 Visual Studio 提供了 TFS 源代码控制,它运行良好。现在我们想要对 SQL Server 进行源代码控制。我们项目中的 SQL Server 不是本地的,它在网络下,我们必须通过 IP 连接到它。 RedGate 源代码控制和其他源代码控制与数据库文件夹一起使用,但我们没有来自数据库的任何文件或文件夹。哪种源代码管理适合我们的工作?

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    所有源代码控制系统都将源代码作为文件进行管理,包括数据库源代码。因此,将数据库置于源代码控制之下的第一步是从远程 SQL Server 为您的数据库创建文件(例如 SQL 脚本)。这可以通过将现有物理数据库逆向工程为 SQL 脚本或使用集成工具(如 Red-Gate SQL Source Control、Red-Gate SQL Compare、ApexSQL Source Control、Red-Gate ReadyRoll for Visual Studio、Visual Studio SQL Server Data Tools)来完成(SSDT) Schema Compare 等。然后将文件检入您的源代码控制系统。

    特定工具的建议超出了本论坛的范围,但支持源代码控制的数据库工具通常通过服务器名称或 IP 地址连接到本地或远程 SQL Server,并将实时数据库的数据库架构与源代码下的对象进行比较控制。架构差异可以应用于源代码控制的数据库对象、提升到数据库或生成的部署/迁移脚本。究竟如何将数据库工具与源代码控制一起使用取决于您的开发过程。有多种方法,每种方法都有优点和缺点。

    我建议您尝试使用您选择的工具和开发过程,以熟悉用于源代码控制集成的过程和相关工具。

    【讨论】:

    • 非常感谢您的回复,亲爱的丹,您能多说一些吗?我没有任何 mdf 或 ldf 只有我有服务器 ip。
    • @dan - 你能把 ReadyRoll 加入你的名单吗?这是另一个 Redgate 解决方案,只是它位于 Visual Studio 中并采用基于迁移的部署方法(优于其他人采用的基于状态的方法)
    • @user2497070,受源代码控制的是数据库源代码文件,而不是物理数据库文件(可以是类似的目标代码)。如果没有源代码,您不会签入您的 DDL 和 EXE,对吗?我重新措辞了我的答案,希望能更清楚。
    • @DavidAtkinson,我将 ReadyRoll 添加到列表中。我的目的不是提供详尽的工具列表,而是提供有关数据库源代码控制和相关工具和开发过程的一般指导。
    • 相当全面! ;)
    猜你喜欢
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    相关资源
    最近更新 更多