我在使用 Microsoft Business Intelligence Development Studio 和 Data Mining Query Task 时遇到了一个有趣的问题。我有一个包,其中有(除其他外)两个数据挖掘查询任务,它们从现有数据库中获取一些行,对它们执行数据挖掘查询,并将它们附加到同一个数据库。两个数据库都比较小(大约 30,000 行,大约 15 列)。
这在开发服务器上一切都很好,但是当我尝试将所有内容转移到生产环境时遇到了一个奇怪的问题。在每个数据库中特定且一致的行数之后,数据挖掘查询任务挂起(第一个任务的数字是 2001,第二个任务的数字是 5001)。少于这些限制的任何行数都需要几秒钟。再长一点,任务就会超时(2 小时后)。
另一件需要注意的事情是,当我从相同的生产数据库中提取信息但将它们插入到开发服务器上的不同表中时,一切正常。
我只能假设生产数据库中有一些设置搞砸了,但我不知道它可能是什么。可惜我只是个实习生,没有设置系统,也没有完全的访问权限,但是我摸索了一下,没有发现设置有什么实质性的差异。
有人有什么意见或建议吗?任何帮助是极大的赞赏。
编辑:感谢您的回复。我选择了 Build New Query 窗口下的表。但是,我认为实际的案例表不是问题,因为当我将输出表更改为不同服务器上的表时,包执行得很好。这是我使用的查询的精简版本:
SELECT FLATTENED
t.field1,
t.field2,
t.field3,
t.field4,
t.field5,
t.field6,
t.field7,
t.field8,
t.field9,
t.field10,
t.field11,
t.field12,
t.field13,
t.field14,
t.field15,
t.field16,
t.field17,
t.field18,
t.field19,
([MiningModel].[Model Output Column]) as field20,
PredictProbability([Model Output Column])
From
[MiningModel]
PREDICTION JOIN
OPENQUERY([Input Table Data Source],
'SELECT
field1,
field2,
field3,
field4,
field5,
field6,
field7,
field8,
field9,
field10,
field11,
field12,
field13,
field14,
field15,
field16,
field17,
field18,
field19,
field 20
FROM
[Input Table]
') AS t
ON
[MiningModel].[Model Input 1] = t.[field16] AND
[MiningModel].[Model Input 2] = t.[field17] AND
[MiningModel].[Model Input 3] = t.[field18] AND
[MiningModel].[Model Input 4] = t.[field19] AND
[MiningModel].[Model Output Column] = t.[field20]