2011-09-02 98 views
1

我们目前正在针对SQL Azure进行开发,并已尝试将工作者角色指向SQL Azure中的主数据库以自动执行需要主服务器的数据库操作。无法从工作角色连接到SQL Azure主服务器

不幸的是,这似乎并不奏效。

有点背景:“允许其他Windows Azure服务访问此服务器”已启用,并且我们设置了防火墙规则来启用此功能。

我们怀疑它可能是缺少防火墙规则的关键。我们的工作人员的角色与其他SQL天蓝数据库工作,只是不对现在的主人...

如果任何人都可以指出我在正确的方向,我将不胜感激!

干杯, 伊阿古

+0

你可以发布你得到的具体错误?另外,如果将RDP添加到工作角色虚拟机中,您可以远程登录到SQL Azure地址和端口? – SpaceghostAli

回答

2

与主数据库中的问题竟然是一个红色的鲱鱼。真正的问题是我正在使用System.Data.SqlClient和Microsoft.SqlServer.Management对象来对master执行一个SQL批处理脚本(下面的样式代码)。

var serverConnection = new ServerConnection(sqlConnection); 
var server = new Server(serverConnection); 
server.ConnectionContext.ExecuteNonQuery(sql); 

多敲打我们的头撞墙后,这个问题竟然是,所需的DLL来使用这些库只是没有在Azure中工作(我们不断收到有关缺少的依赖关系的错误)。最后,我们的解决方案是将批处理脚本分解为许多下标(基本上分成GO语句所在的任何部分)并使用标准的ADO.NET对象运行。事实证明,这是一个更好,更通用的解决方案,因此它为我们解决了问题!