我们有一个包含 15-20 个数据库的 SQL Server 实例,我们在 RedGate 的帮助下在 TFS 中检查这些数据库。我正在编写一个脚本,以便能够在这些脚本的帮助下复制实例(例如,开发人员可以在需要时运行本地实例)。我担心的是这些脚本之间的依赖关系。
在 TFS 中,RedGate 为每个数据库创建了包含 .sql
文件的文件夹:
Functions
Security
Stored Procedures
Tables
Triggers
Types
Views
我用 Powershell 做了一个快速测试,只是循环这些文件夹来执行 sql,但我认为这可能并不总是有效。有我可以遵循的严格顺序吗?或者有一些更简单的方法可以做到这一点?为了澄清这一点,我希望能够从一个完全空的 SQL Server 实例开始,并最终根据 TFS 中的内容得到一个完全配置的实例(没有数据,但这没关系)。使用 Powershell 不是必需的,因此如果其他方法更简单,那就更好了。
最佳答案
如果您已经在使用 RedGate,他们有大量关于如何将更改从源代码管理转移到数据库的文章。以下内容描述了使用 sqcompare 命令行从 TFS 移动数据库代码:
http://www.codeproject.com/Articles/168595/Continuous-Integration-for-Database-Development
如果您与任何空数据库进行比较,它将创建您正在查找的脚本。
关于sql-server - 从 RedGate checkin 脚本重新创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10562764/