因此,感谢 GregGalloway 的提示,我发现可以使用 Power Query M 语言在每个分区的基础上设置超时。
所以我的 TMSL 对象的数据访问部分现在看起来像这样......
The model.dataSource
是这样的:
"dataSources": [
{
"type": "structured",
"name": "MySource",
"connectionDetails": {
"protocol": "tds",
"address": {
"server": "serverName.database.windows.net",
"database": "databaseName"
},
"authentication": null,
"query": null
},
"options": {},
"credential": {
"AuthenticationKind": "UsernamePassword",
"Username": "dbUsername",
"EncryptConnection": true
}
}
]
各个分区查询如下(注意 CommandTimeout 参数):
let
Source = Sql.Database("serverName.database.windows.net","databaseName",[CommandTimeout=#duration(0, 2, 0, 0)]),
MyQuery =
Value.NativeQuery(
Source,
"SELECT * FROM [dbo].[MyTable]"
)
in
MyQuery
因此,现在我明确为分区查询设置 2 小时的超时。