Sql 并行数据仓库(PDW)功能未启用

Sql 并行数据仓库(PDW)功能未启用,sql,sql-server,Sql,Sql Server,我有一个WinForms客户端应用程序,它使用参数执行以下SQL语句 SELECT a.CaseNo, (c.Claimant + ' -v- ' + c.Defendant) AS CaseName, a.Allocation - ISNULL(LAG(a.Allocation) OVER (PARTITION BY a.CaseNo, a.FeeEarner ORDER BY a.AllocID), 0) AS Billing, a.AllocID FROM

我有一个WinForms客户端应用程序,它使用参数执行以下SQL语句

SELECT a.CaseNo, (c.Claimant + ' -v- ' + c.Defendant) AS CaseName, 
       a.Allocation - ISNULL(LAG(a.Allocation) 
       OVER (PARTITION BY a.CaseNo, a.FeeEarner ORDER BY a.AllocID), 0) AS Billing, a.AllocID 
FROM tblAllocations AS a INNER JOIN tblCases AS c ON a.CaseNo = c.CaseNo
WHERE a.CaseNo > 0 AND FeeEarner = @FeeEarner 
AND a.Date >= @StartDate 
AND a.Date <= @EndDate ORDER BY a.Date;
我以前从未看到过这条信息,因此我无法确定问题出在哪里。我试着用谷歌搜索这个错误信息,但没有发现任何有用的东西。我的客户正在使用SQL Server 2008 R2 Express

PDW是SQL Express 2012中的一项功能,而不是2008 R2版本中的功能吗

我的查询需要PDW的是什么

是不是因为分区的使用,因为这是一个关键字,我以前没有使用过,直到这个查询导致了问题

在不让客户更改其SQL版本的情况下,是否有任何方法可以解决此问题(例如,通过更改我的SQL查询或启用SQL中的某些内容)

非常感谢您的帮助。

该命令仅在SQL Server 2012中受支持

尽管我对这个错误感到惊讶,如果这就是问题所在

-编辑-

要在不使用延迟的情况下复制查询,请执行以下操作:

这基本上是从我刚才提到的观点中提出来的

SELECT 
       a.CaseNo, 
       (c.Claimant + ' -v- ' + c.Defendant) AS CaseName, 
       a.Allocation - ISNULL((
           CASE 
              WHEN N%2=1 
              THEN MAX(CASE 
                   WHEN N%2=0 
                   THEN a.Allocation 
                   END) 
              OVER (Partition BY N/2) 
              ELSE MAX(CASE 
                   WHEN N%2=1 
                   THEN a.Allocation
                   END) 
              OVER (Partition BY (N+1)/2) 
           END
       ), 0) AS Billing, 
       a.AllocID 
FROM tblAllocations AS a
LEFT JOIN (SELECT 
    Row_Number() OVER(ORDER BY b.Id) N,
    b.Id
  FROM tblAllocations as b) AS RowNum 
ON RowNum.id=a.id 
INNER JOIN tblCases AS c 
ON a.CaseNo = c.CaseNo
WHERE a.CaseNo > 0 
AND FeeEarner = @FeeEarner 
AND a.Date >= @StartDate 
AND a.Date <= @EndDate 
ORDER BY a.Date;
以下是演示:

The parallel data warehouse (PDW) features are not enabled

是否可以修改查询以避免此问题,但返回相同的数据?这可能会有所帮助嗯-我尝试了您的代码,并收到错误消息ISNULL命令需要两个参数。但这很奇怪,因为,0包含在代码中,并且是第二个参数。有什么想法吗?我想我们现在缺少了一个封闭的括号,因为之前的选择从未关闭过,但我不清楚这应该去哪里。我已经标记为答案,因为这肯定让我走上了正确的方向,我认为-谢谢。