Sql server 使用Azure本地网关连接到SQL Server高可用性群集时出错

Sql server 使用Azure本地网关连接到SQL Server高可用性群集时出错,sql-server,azure,powerbi,high-availability,gateway,Sql Server,Azure,Powerbi,High Availability,Gateway,我们正在尝试配置一个内部数据网关,以供Power BI/Power应用程序使用Azure。我们希望连接到数据库“只读”实例上的SQL Server高可用性群集,以进行实时/按需查询。下面是一个连接字符串的示例,可以实现这一点: Server=MyServer;Database=MyDb;Trusted_Connection=True;applicationintent=readonly 我们下载并安装了最新版本的网关,但无法将其连接到HA SQL数据库。我在互联网上搜索过,还没有找到答案。我们

我们正在尝试配置一个内部数据网关,以供Power BI/Power应用程序使用Azure。我们希望连接到数据库“只读”实例上的SQL Server高可用性群集,以进行实时/按需查询。下面是一个连接字符串的示例,可以实现这一点:

Server=MyServer;Database=MyDb;Trusted_Connection=True;applicationintent=readonly
我们下载并安装了最新版本的网关,但无法将其连接到HA SQL数据库。我在互联网上搜索过,还没有找到答案。我们在Azure Power BI中尝试了“SQL Server”和“OleDb”数据源,但没有成功。我们可以毫无问题地连接到SQL Server数据库的非HA实例。可以这样做吗?如果可以,怎么做

以下是我在尝试添加SQL连接时在app.powerbi.com门户网站中看到的错误:

无法连接:尝试连接到MyServer时遇到错误

ID:90c2a52c-ba1f-4506-84ed-d6da5a44e684请求

ID:75E638B-6806-9d42-8af3-7f6896485df8群集

URI:

状态代码:400错误代码:DMTS_PublishDatasourceToClusterErrorCode

时间:2017年12月1日星期五07:53:37 GMT-0700(山区标准时间)

版本:13.0.3154.215

BI网关:从ID为413243的服务接收到错误负载:访问目标数据源时遇到SqlException

以下是运行网关服务的客户端中记录的异常:

GatewayPipelineErrorCode=DM\u GWPipeline\u未知错误

InnerType=SqlException

InnerMessage=目标数据库(“MyDatabase”)位于可用性组中,当应用程序意图设置为只读时,连接当前可以访问该数据库。有关应用程序意图的更多信息,请参阅SQL Server联机丛书

InnerToString=System.Data.SqlClient.SqlException(0x80131904):目标数据库(“MyDatabase”)位于可用性组中,当应用程序意图设置为只读时,连接当前可以访问该数据库。有关应用程序意图的更多信息,请参阅SQL Server联机丛书

位于System.Data.SqlClient.SqlInternalConnectionDS..ctor(DbConnectionPoolIdentity、SqlConnectionString connectionOptions、SqlCredential凭证、对象提供信息、String newPassword、SecureString newSecurePassword、Boolean redirectedUserInstance、SqlConnectionString userConnectionOptions、SessionData重新连接SessionData、DbConnectionPool池、String accessToken、Boolean applyTransientF奥兰多(荷兰)

位于System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions、DbConnectionPoolKey、Object poolGroupProviderInfo、DbConnectionPool、DBConnectionOwningConnection、DbConnectionOptions用户选项)

位于System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection-owningConnection、DbConnectionPoolGroup-poolGroup、DbConnectionOptions-userOptions) 在System.Data.ProviderBase.DbConnectionFactory.c__u显示类31_0.b_0(任务“1”)

位于System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke() 在System.Threading.Tasks.Task.Execute()中


此后,我了解了有关Azure内部网关的更多信息,这仍然是一个问题。一个可能的解决方法是使用“@provstr=N'ApplicationIntent=ReadOnly”在HA只读辅助SQL server上创建链接服务器

然后,可以从HA辅助数据库上的另一个数据库使用此链接服务器连接只读HA数据库,如下所示:

SELECT * FROM HaReadOnlyLink.MyHaDb.dbo.MyTable

此后,我了解了有关Azure内部网关的更多信息,这仍然是一个问题。一个可能的解决方法是使用“@provstr=N'applicationcontent=ReadOnly”在HA只读辅助SQL server上创建链接服务器

然后,可以从HA辅助数据库上的另一个数据库使用此链接服务器连接只读HA数据库,如下所示:

SELECT * FROM HaReadOnlyLink.MyHaDb.dbo.MyTable

我正在这样做,所以可以这样做。你有错误消息吗?@influent我继续添加了在门户网站和运行网关服务的客户端上看到的错误消息。对不起,我从未将网关与可用性组一起实际使用过。看起来问题与此相关,但我不确定修复方法是什么。我很抱歉这样做,这样就可以完成。你有错误消息吗?@influent我继续添加了在门户网站和运行网关服务的客户端上看到的错误消息。对不起,我从来没有将网关与可用性组一起使用过。看起来问题与此相关,但我不确定修复方法是什么。