无法从Azure中连接到Azure SQL

时间:2015-10-19 13:07:21

标签: node.js azure sails.js azure-sql-database azure-web-sites

我刚刚在Node.js中部署了一个Web应用程序到Azure,它似乎无法连接到同一区域的Azure SQL Server。

我检查了以下内容:

  • SQL服务器防火墙:我启用了对Azure服务的访问(并且很好地衡量了Web应用程序IP)
  • 网络日志:没有,服务器工作正常,但任何涉及查询的内容都会超时而没有任何错误
  • 本地部署:在本地运行应用程序(node app.js)开箱即用

该应用使用Sails.js和sails-mssql适配器。

编辑:我还尝试使用连接到数据库的虚拟应用程序,并在成功的行检索(Table.findOne().then())后返回响应。它第一次起作用(尽管有30秒的延迟)。之后,加载页面时只是超时,或者是错误502.

编辑2:似乎sails-sqlserver是罪魁祸首,它捆绑了一个已知与Azure SQL v12不兼容的mssql版本(请参阅here)。我强制通过npm-shrinkwrap更新到mssql 2.3.1,但它仍无效。

我还可以检查哪些问题?我没有想法。

2 个答案:

答案 0 :(得分:2)

您是否尝试通过SQL Management Studio进行连接?只是为了排除任何奇怪的联系。你能创建一个表等吗? 如果您没有管理工作室,可以通过Visual Studio连接。

这是VM还是SQL DB? VM ...你打开了端点吗? SQL DB ..您可以通过管理门户创建表吗?

我从未使用过帆,但这里是使用msnodesql并查看它是否连接的示例。可能只是帆的问题

https://azure.microsoft.com/en-us/documentation/articles/sql-database-develop-nodejs-simple-windows/

答案 1 :(得分:1)

通常,它可能会发生502错误,因为node.js进程崩溃并且前端留下请求并返回502.

您可以在本地运行应用程序并监控sails进程的日志,以检查崩溃进程的原因。

此外,如果它只出现在Azure上,您可以利用站点的Kudu控制台上的日志流工具来监视站点的日志。该工具的URL应如下所示: https://<your_site_name>.scm.azurewebsites.net/api/logstream