服务不健康:Azure移动服务上的代码优先迁移(.NET后端)

时间:2014-06-20 05:32:55

标签: asp.net azure azure-sql-database ef-migrations azure-mobile-services

我已经被这个问题困住了好几天了。我正在尝试在.NET后端创建移动服务并将其发布到Azure。

我已按照本教程mobile-services-dotnet-backend-how-to-use-code-first-migrations在移动服务项目上设置代码首次迁移。

我在本地部署时工作正常,但是当我发布到Azure时,它给了我这个不健康的皱眉服务

Service Unhealthy Azure Mobile Services

我在日志中看到了这个错误

  

信息将服务健康状况更改为“严重”(服务为   不良。请检查服务日志以确定问题和   如何纠正它。)从以前的状态'健康'(服务是   被认为处于健康状态。 App.HealthReporter 20/06/2014   六时00分03秒

     

错误引导捆绑失败:执行'WebApiConfig.Register'导致   例外:此版本的SQL不支持Windows登录   服务器。'。 App.Hosting 20/06/2014 06:00:03

这符合此博客Code-First Migration problem with AMS中的症状,但我无法应用他的解决方案。他提到他授予生成用户控制权

  

对SCHEMA进行授权控制:: [dbo]至[生成的用户登录]

但我不知道在哪里应用,我在哪里获得生成的用户登录等。我正在使用的数据库专用于该移动服务项目,不会有来自任何其他项目的表。< / p>

更重要的是,有更好的方法吗?因为在这个问题上,命名似乎太错误而无法解决,是否有更好的方法为azure移动服务.net后端项目设置数据库?

请帮忙

1 个答案:

答案 0 :(得分:1)

问题似乎是您部署的服务正在使用的连接字符串 - 它似乎是尝试使用Windows凭据登录但是不会对SQL Azure起作用。

您是在使用AMS为您设置的数据库,还是自己设置了数据库?

要查看部署的服务正在使用哪个连接字符串(包括用户等),您可以访问此站点并检查应用程序的应用程序设置和连接字符串:

的http:// {yoursite} .scm.azure-mobile.net

在环境下登录后检查并查找名为MS_TableConnectionString的连接字符串。在那里,您将找到EF尝试连接的用户和密码。

希望这有帮助,

的Henrik