我需要为项目实现自动数据库备份,该项目位于azure上的云服务。 我按照this手册进行了操作,但如果我已经有了包和配置文件,我找不到如何将工作角色添加到现有项目中。
如果我尝试更新实例选项卡上的部署实例,我会发现错误:
Removing role <SiteName>.Web will cause loss of data stored locally on instances of the role. Repeat this operation and specify 'Force'. The long running operation tracking ID was: <ID>.
答案 0 :(得分:1)
正如您所提到的那样,您确实有新的包,包括新的工作者角色,您的包中是否包含之前的工作者角色?如果这是一个新的辅助角色应用程序,或者您已将新的辅助角色添加到现有的Web角色项目中,那么您将拥有旧的webrole和较新的辅助角色。
我可以向您解释更新服务如何与Windows Azure一起使用,如下所示:
使用Windows Azure更新当前正在运行的实例时,更新包仍需要完整配置和应用程序代码(包括所有新旧角色)。在门户网站上更新服务时,您可以选择更新所有服务或特定角色,并在下拉列表中的更新窗口中可用。因此,如果您当前正在运行的服务具有Web和辅助角色,并且您只想更新一个特定角色,则从下拉列表中选择特定角色,并且只有该角色将被更新,而其他角色将不受影响。如果选择“全部”,则将使用包内容更新所有角色。因此,如果您更新一个角色,所有角色或所有角色,您的包必须包含完整配置,并且取决于您的选择,角色将会更新。
在您的情况下,您希望为当前正在运行的服务添加新角色,因此从下拉列表中选择“全部”选项,以便可以将新角色添加到当前正在运行的服务中,但是现有服务将因为主要服务而遇到停机时间需要配置才能在一个VIP下运行两个单独的角色。
关于您的错误,我怀疑的是您的软件包中不包含当前正在运行的服务配置,所以当您尝试更新时,更新过程认为您只想删除当前正在运行的进程并替换为新的工作者角色。