2017-07-06 22 views
0

LAG()のようなウィンドウ関数を追加すると、クエリの実行計画がどのように変化するかを見てみただけです。ウィンドウの表示で予測される実行計画のエラー

しかし、LAG()のようなクエリにウィンドウ関数を追加すると、& "見積もり実行計画を表示"をクリックするとエラーが表示されます。

An error occurred while executing batch. Error message is: Error processing execution plan results. The error message is: 
There is an error in XML document (1, 12308). 
Instance validation error: 'Window Spool' is not a valid value for PhysicalOpType. 

SQL Serverの:

Microsoft SQL Server 2016 (SP1) (KB3182545) 
13.0.4001.0 (X64) Oct 28 2016 18:17:30 
Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) 
on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600:) (Hypervisor) 

私は前にこの動作を経験したことがありません。実行計画が推定できない理由は何ですか?

+1

ヘルプ - >について。 Management Studioはどのバージョンですか?最新のバージョンは[SQL Serverとは独立してインストールされています](https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms)ですので、起動しない理由はありません-現在まで。 –

+2

旧バージョンのツールセットを使用していますか?そのように見えると、検証エラーが発生する可能性があります。サーバーが2016の場合は、2016 SSMSツールをインストールします。ここに関連するスレッドがあり、それが答えのようです。https://social.msdn.microsoft.com/Forums/en-US/05869260-f6a7-44a6-b2ab-da638e050ec2/instance-validation-error-window-spool-is -not-a-valid-value-for-physicaloptype?forum = transactsql – Will

+0

それはそれです!私は、SQL Management Studio 2008でクライアントを実行していたことがわかりました。後でSQL Server 2012でウィンドウ機能が追加されたため、古いバージョンのMgmt Studioは計画を表示できません。 –

答えて

0

解決方法:
Microsoft SQL Server Management Studioのバージョンは、Microsoft SQL Server自体より古いです。私の場合は

:LAGのようなウィンドウ関数として
(SQL Server 2008 R2の) のMicrosoft SQL Server Management Studioのバージョン10.50.1600.1
のMicrosoft SQL Server 2016

は()SQL Server 2012のでリリースされました古いManagement Studioバージョンでは、ウィンドウ付きの関数を使用して実行計画を解釈/表示することができません。

+0

今後は別途ダウンロード可能なSSMSバージョンを使用することをお勧めします。これは、Azure SQLデータベースを含む新しいSQLバージョンで最新の状態に保たれており、まだリリースされていないバージョンのサポートも含まれています(SQL 2017)。本書の現在のバージョンはSSMS 17.1です。 –

+0

私は知っています。ここで少し複雑です。私はプロジェクト内で顧客のワークステーションを使用しなければならず、何もインストールすることができません。しかし、私はそれらを説得しようとします。 –

関連する問題