尽管设置,Azure搜索中的索引视图期间超时

时间:2015-04-27 11:38:37

标签: sql-server azure azure-search

我使用Azure搜索索引器从Azure SQL DB索引视图。

我已创建数据源(视图)并在连接字符串中设置此类设置 (...)Trusted_Connection=False;Encrypt=True;Connection Timeout=1200;" },

索引器仍然返回超时,我从Azure SQL DB日志中看到,Indexer的查询在30秒后被取消:

  • ActionStatus:取消
  • 声明:设置FMTONLY OFF; SET NO_BROWSETABLE ON; SELECT * FROM [dbo]。[v_XXX] ORDER BY [rowVersion] SET NO_BROWSETABLE OFF
  • ServerDuration:00:00:30.3559524

通过SQL Server Mgmt Studio运行相同的语句需要大约2分钟并完成。

我想知道是否有其他设置(服务器或数据库)覆盖我的连接超时首选项?如果是,那么为什么当我使用SSMS查询我的数据库时没有超时,并且当Indexer尝试索引视图时有超时?

3 个答案:

答案 0 :(得分:3)

取消操作的超时是命令超时,而不是连接超时。默认命令超时曾经是30秒,目前无法更改它。我们已将默认命令超时增加到更大的值(5分钟),以在短期内缓解此问题。从长远来看,我们将添加在数据源定义中指定命令超时的功能。

答案 1 :(得分:1)

现在索引器上有一个设置。有了它,您可以配置queryTimeout。我认为这是几分钟。我的索引器现在运行时间超过20分钟而没有错误。

    "startTime": "2016-01-01T00:00:00Z"
  },
  "parameters": {
    "batchSize": null,
    "maxFailedItems": 0,
    "maxFailedItemsPerBatch": 0,
    "base64EncodeKeys": false,
    "configuration": {
      "queryTimeout": "360"
    }
  },
  "fieldMappings": [
    {

更新:目前无法在天蓝色门户网站上设置。您可以通过REST Api

进行设置
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]  
Content-Type: application/json  
api-key: [admin key]  

答案 2 :(得分:0)

使用REST API链接https://[SERVICE].search.windows.net/indexers/[Indexer]?api-version=2016-09-01获取Indexer定义,然后使用POST到同一地址进行更新。

参考MSDN