0

我有一个 Visual Studio 2010 网站项目,我正在为其创建部署包。我的网站依赖于我也包含在部署包中的 SQL 数据库。在第一次部署期间,在生产服务器上的 IIS 中导入已部署的程序包效果很好,当时还没有数据库。对于第二次以上的部署,我在导入过程中收到一个错误,指出已经有一个名为某某的对象。看起来它正在尝试再次创建数据库,而不是自上次部署以来更新数据库模式。

在此处输入图像描述

我正在创建部署包并将 zip 复制到生产服务器并通过 WebDeploy 2.1 直接导入 IIS。我怎样才能更新数据库?我尝试拥有一个 Visual Studio sql 数据库项目,并让包仅包含从该项目的“部署”中生成的 .sql 文件,但遇到了其他不相关的问题。不可能这么难。我应该如何部署数据库架构更新?

4

1 回答 1

1

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

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

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

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

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

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

于 2012-04-10T08:39:00.107 回答