我一直在研究在使用开发和现场生产数据库时应该遵循的正确步骤。我找到的最好的一篇文章是:数据库开发和部署策略,但我不能接受这样的想法:我必须手动维护对DB所做的每一个更改的Word文档。我觉得这很荒谬..。
我使用在dev和prod中管理我的SQL数据库。有没有一种方法可以在不破坏表和数据的情况下将最新的更改部署到生产中。请有人向我介绍一篇关于如何在SSMS中这样做的好的过程文章。
谢谢
发布于 2012-01-12 16:53:20
对数据库设计进行更改而不创建放到源代码管理中的更改脚本是不负责任的。
但是,如果您已经处于这种状态,我建议您购买red_red的SQLCompare。它将查看这两个数据库并编写不同的脚本。但是,您仍然不能运行这种方式--尽管如此--有时您已经对尚未被推送到prod的当前版本中的dev数据库进行了更改,而且SQLCompare也无法知道这一点。最好在运行时创建脚本(当表当前存在时使用alter,以避免干扰现有数据),并将它们与您将同时推送的其余代码保持在源代码控制中。
发布于 2012-01-12 15:34:56
使用Management --准备、检查、测试和手动运行脚本--这是在预测中唯一正确的方法。
和新的备份!
发布于 2012-01-12 16:44:55
一种常见的策略是保持一组有序的更改脚本,例如以日期或数据库版本作为前缀,这些脚本可以通过从生产开始的新备份轻松地在开发数据库上进行测试。更改脚本通常可以在进行更改时从生成,或者在发生更复杂的更改时可以手工构建。
另一项建议是对数据库定义(表、过程等)进行版本控制。这可以通过使用在每次更新后为所有对象生成创建脚本来实现。通过这种方式,您可以很容易地比较随时间或不同环境之间所做的更改。
https://stackoverflow.com/questions/8837625
复制相似问题