如何在部署期间更新sql数据库,而不是创建新的

时间:2012-04-10 02:25:58

标签: sql-server visual-studio visual-studio-2010 sql-server-2008 webdeploy

我有一个Visual Studio 2010网站项目,我正在创建一个部署包。我的网站依赖于我也包含在部署包中的SQL数据库。在生产服务器上的IIS中导入已部署的包在第一次部署期间运行良好,当时还没有数据库。对于第二次+部署,我在导入期间遇到一个错误,表示已经有一个名为等的对象。看起来它试图再次创建数据库而不是自上次部署以来更新数据库模式。

enter image description here

创建部署包并将zip复制到生产服务器并通过WebDeploy 2.1直接导入IIS。我怎样才能更新数据库?我尝试了一个Visual Studio sql数据库项目,并且该软件包只包含来自" Deploy"的生成的.sql文件。那个项目,但遇到了其他不相关的问题。它不可能是这么困难。我应该如何部署数据库架构更新?

1 个答案:

答案 0 :(得分:1)

您需要使用自定义脚本部署数据库更改(如果您想保留数据)。

或者,如果您只想删除并重新创建某个对象,则可以使用自动脚本执行此操作。

无论哪种方式,它都不像推出原始数据库那么容易。

如果您没有更改数据库,则可以从部署中排除数据库(打包/发布Web选项卡 - 取消选中数据库)。

请参阅以下文章http://msdn.microsoft.com/en-us/library/dd465343.aspx

请特别注意“使用自动生成的脚本重新部署”和“使用自定义脚本部署数据库更改”部分。