为 MS SQL Server 设计、生成和版本化数据库模式脚本的最佳方法是什么?

What is the best way to design, generate, and version a database schema script for MS SQL Server?

我从来没有真正见过像这样笼统的问题(有答案),所以我希望得到一些有用的反馈。我问的原因是因为我以前做过所有这些并且我有自己的方法,但有时我觉得这不是最佳做法。

让我们举个例子,我买不起更好的数据库建模工具,而且我只有 sql 服务器和 ms sql 服务器管理工​​作室。我做的是:

它似乎在过去对我有用,但它似乎有点,我不知道,不是很复杂。 sql 专家可以阐明这个问题吗?这是我们一遍又一遍地为我们创建的每个数据驱动的网络应用程序所做的事情。我想看看其他开发人员是如何做到的。

回顾,

  1. 你是如何设计你的数据库模型和生成脚本的(你是用设计工具来做的,还是从头开始写等等?),
  2. 如何管理随着时间的推移增量数据库更改?
  3. 您如何对数据库进行版本控制?

SQL 服务器数据工具非常适合这个。它具有您需要的所有设计功能和可配置的脚本。它还将比较两个数据库并为您生成更改脚本。哦 - 而且它是免费的!