1

我们目前正在针对 SQL Azure 进行开发,并且(未成功)尝试将辅助角色指向 SQL Azure 中的主数据库,以便自动化需要主数据库的数据库操作。

不幸的是,这似乎不起作用。

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

我们怀疑这可能是缺少防火墙规则的关键。我们的工作者角色适用于其他 SQL azure dbs,只是目前不适用于主人......

如果有人能指出我正确的方向,我将不胜感激!

干杯,伊阿古

4

1 回答 1

2

主数据库的问题原来是一个红鲱鱼。真正的问题是我使用 System.Data.SqlClient 和 Microsoft.SqlServer.Management 对象来针对主服务器运行 SQL 批处理脚本(以下样式的代码)。

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

在把我们的头撞到墙上之后,问题原来是使用这些库所需的 dll 在 Azure 中不起作用(我们不断收到有关缺少依赖项的错误)。

最后,我们对此的解决方案是将批处理脚本分解为多个下标(基本上在 GO 语句所在的位置拆分为多个部分)并使用标准 ADO.NET 对象运行。事实证明,这是一个更好、更通用的解决方案,所以对我们来说效果还不错!

于 2011-11-20T18:58:40.410 回答