尽管设置,Azure 搜索中的索引视图期间超时
Timeout during indexing view in Azure Search despite settings
我正在使用 Azure 搜索索引器为来自 Azure SQL 数据库的视图编制索引。
我已经创建了数据源(视图)并在连接字符串中设置了此类设置
(...)Trusted_Connection=False;Encrypt=True;Connection Timeout=1200;" },
索引器仍然 returns 超时,我从 Azure SQL 数据库日志中看到,索引器的查询在 30 秒后被取消:
- 操作状态:取消
- 语句:SET FMTONLY OFF;设置 NO_BROWSETABLE 开启;SELECT * 来自
[dbo].[v_XXX] ORDER BY [rowVersion] SET NO_BROWSETABLE OFF
- 服务器持续时间:00:00:30.3559524
当 运行 通过 SQL Server Mgmt Studio 并完成时,相同的语句需要大约 2 分钟。
我想知道是否有任何其他设置(服务器或数据库)会覆盖我的连接超时首选项?如果是,那么为什么当我使用 SSMS 查询我的数据库时没有超时,而当索引器尝试为视图编制索引时却超时?
取消操作的超时是命令超时,不是连接超时。默认命令超时过去是 30 秒,目前没有办法改变它。我们已将默认命令超时增加到更大的值(5 分钟)以在短期内缓解这种情况。从长远来看,我们将添加在数据源定义中指定命令超时的功能。
现在索引器上有一个设置。有了它,您可以配置 queryTimeout。我认为它是在几分钟内。我的索引器现在运行超过 20 分钟没有错误。
"startTime": "2016-01-01T00:00:00Z"
},
"parameters": {
"batchSize": null,
"maxFailedItems": 0,
"maxFailedItemsPerBatch": 0,
"base64EncodeKeys": false,
"configuration": {
"queryTimeout": "360"
}
},
"fieldMappings": [
{
更新:目前无法在Azure Portal上设置。您可以通过 REST Api:
进行设置
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
使用 REST API link https://[SERVICE].search.windows.net/indexers/[Indexer]?api-version=2016-09-01 获取索引器定义,然后使用 POST 到同一地址更新它。
参考 MSDN
我正在使用 Azure 搜索索引器为来自 Azure SQL 数据库的视图编制索引。
我已经创建了数据源(视图)并在连接字符串中设置了此类设置
(...)Trusted_Connection=False;Encrypt=True;Connection Timeout=1200;" },
索引器仍然 returns 超时,我从 Azure SQL 数据库日志中看到,索引器的查询在 30 秒后被取消:
- 操作状态:取消
- 语句:SET FMTONLY OFF;设置 NO_BROWSETABLE 开启;SELECT * 来自 [dbo].[v_XXX] ORDER BY [rowVersion] SET NO_BROWSETABLE OFF
- 服务器持续时间:00:00:30.3559524
当 运行 通过 SQL Server Mgmt Studio 并完成时,相同的语句需要大约 2 分钟。
我想知道是否有任何其他设置(服务器或数据库)会覆盖我的连接超时首选项?如果是,那么为什么当我使用 SSMS 查询我的数据库时没有超时,而当索引器尝试为视图编制索引时却超时?
取消操作的超时是命令超时,不是连接超时。默认命令超时过去是 30 秒,目前没有办法改变它。我们已将默认命令超时增加到更大的值(5 分钟)以在短期内缓解这种情况。从长远来看,我们将添加在数据源定义中指定命令超时的功能。
现在索引器上有一个设置。有了它,您可以配置 queryTimeout。我认为它是在几分钟内。我的索引器现在运行超过 20 分钟没有错误。
"startTime": "2016-01-01T00:00:00Z"
},
"parameters": {
"batchSize": null,
"maxFailedItems": 0,
"maxFailedItemsPerBatch": 0,
"base64EncodeKeys": false,
"configuration": {
"queryTimeout": "360"
}
},
"fieldMappings": [
{
更新:目前无法在Azure Portal上设置。您可以通过 REST Api:
进行设置PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
使用 REST API link https://[SERVICE].search.windows.net/indexers/[Indexer]?api-version=2016-09-01 获取索引器定义,然后使用 POST 到同一地址更新它。
参考 MSDN