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

Azure sql database Azure SQL数据库的远程查询超时,azure-sql-database,azure-sql-server,Azure Sql Database,Azure Sql Server,我正在Azure SQL数据库上执行一个存储过程 正在通过链接服务器从本地SQL Server实例上的SQL Server代理作业调用此过程: EXEC ('EXEC azuredb.dbo.FullProcess') AT [MYAZURESERVER.DATABASE.WINDOWS.NET] 执行约12分钟后,我收到一个查询超时错误: OLE DB provider "SQLNCLI11" for linked server "MYAZURESERVER.D

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

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

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".

如何禁用/控制远程超时时间?我尝试在链接服务器设置中将“远程查询超时”设置为0,但似乎没有效果。此外,Azure SQL Server上似乎没有此类设置。

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


嗨@saso我的步骤如下。根据这一点,它说我们需要创建两个链接服务器来实现这一点

  • 创建名为
    JOSEPHSERVER2.DATABASE.WINDOWS.NET的第一个链接服务器

    输入登录名和密码以登录Azure SQL:

  • 创建第二个名为
    AZURE链接服务的链接服务器
    。第二个链接的服务器将引用第一个链接的服务器。在
    目录中输入userdb name

    还需要输入登录名和密码:
    选择服务器选项并将“RPC”和“RPC Out”设置为true,以便我们可以通过此链接服务器调用存储过程:

  • 然后我可以调用本地SQL Server中的远程存储过程:


  • 您是否检查了Azure SQL的防火墙规则?防火墙规则已正确配置。这不是这种行为的原因-如果防火墙是一个问题,那么我将无法运行存储过程。您可以通过链接服务器从Azure sql中的任何表进行查询?是的。问题是当执行时间超过约12分钟时出现超时错误。嗨@saso,它现在可以工作了吗?嗨,约瑟夫。谢谢你的订婚。然而,这里的问题不是建立从本地SQL Server到Azure SQL数据库的连接。这已配置并正在工作。在大多数情况下,使用EXEC AT语句在Azure SQL数据库上查询或执行存储过程是有效的。问题是当执行SP且执行时间超过约12分钟时,执行将被取消,并显示“远程超时错误”消息。我想修改/延长远程超时值,但找不到如何操作(在链接服务器属性中设置它没有效果)。在链接服务器设置中将“远程查询超时”设置为300有什么效果?你说它被设置为0。没有效果。300意味着5分钟(300秒)。0表示没有超时(已禁用超时)。是的,您是正确的。我设置了存储过程的等待时间。现在也得到了超时错误。我正在研究如何解决这个问题。Hi@saso,我的存储过程将执行12分钟。当我将“远程查询超时”设置为900时。它成功地返回了结果!我已经更新了我的答案。