パラメータを使用して次のSQLステートメントを実行するWinFormsクライアントアプリケーションがあります。
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 Server2012Expressを使用しています。
ただし、まったく同じクライアントアプリケーションを顧客の施設で実行すると、コードはエラーを返します。エラーメッセージの大部分はアプリケーションによって生成されます。これにより、コード内のどこで問題が発生したかを特定できます。ただし、システムで生成されたエラーを追加するメッセージの最後に、次のメッセージが表示されます。
The parallel data warehouse (PDW) features are not enabled
私はこれまでこのメッセージを見たことがないので、問題が何であるかを判断するのに途方に暮れています。このエラーメッセージをGoogleで検索してみましたが、有用なものは見つかりませんでした。私の顧客はSQLServer2008R2Expressを使用しています。
PDWは、2008R2バージョンにはないSQLExpress 2012の機能ですか?
PDWを必要とする私のクエリについてはどうですか?
問題を引き起こしているのは、このクエリまで以前に使用していなかったキーワードであるため、PARTITIONの使用ですか?
顧客にSQLバージョンを変更させることなく、SQLクエリを変更したり、SQLで何かを有効にしたりするなど、この問題に対処する方法はありますか?
どんな助けでも大歓迎です。