Azure SQL 数据库的远程查询超时

Remote query timeout for Azure SQL Database

我正在 Azure SQL 数据库上执行存储过程。

正在通过链接服务器从本地 SQL 服务器实例上的 SQL 服务器代理作业调用该过程:

EXEC ('EXEC azuredb.dbo.FullProcess') AT [MYAZURESERVER.DATABASE.WINDOWS.NET]

约执行 12 分钟后出现查询超时错误:

OLE DB provider "SQLNCLI11" for linked server "MYAZURESERVER.DATABASE.WINDOWS.NET" returned message "Query timeout expired".

如何disable/control远程超时时间?我尝试在链接服务器设置中将“远程查询超时”设置为 0,但似乎没有效果。此外,Azure SQL 服务器上似乎没有这样的设置。

更新:
我的存储过程将执行 12 分钟。当我在链接服务器设置中将“远程查询超时”设置为 900 或更大时。 “远程查询超时”应该比实际执行时间大一点。如果值相同,仍然会报超时错误。
成功返回结果!这两个时间差就是存储过程的执行时间:


你好@saso 我的步骤如下。根据这个 article,它说我们需要创建 2 个链接服务器来实现它。

  1. 创建名为 JOSEPHSERVER2.DATABASE.WINDOWS.NET:
    的第一个链接服务器 输入登录名和密码登录 Azure SQL:

  2. 创建名为 AZURE LINKED SERVICE 的第二个链接服务器。第二个链接服务器将引用第一个链接服务器。在 Catalog.
    中输入 userdb 名称 还需要输入登录名和密码:
    Select 服务器选项并将“RPC”和“RPC Out”设置为 true,以便我们可以通过此链接服务器调用存储过程:

  3. 然后我可以在本地SQL服务器调用远程存储过程: