2017-07-06 2 views
0

Je voulais juste voir comment le plan d'exécution d'une requête change, quand j'ajoute des fonctions de fenêtre comme LAG(). Mais, quand j'ajoute une fonction de fenêtre à ma requête comme LAG() & cliquez sur "Afficher le plan d'exécution estimé" il me renvoie l'erreur suivante.Erreur sur l'affichage Plan d'exécution estimé avec la fonction de fenêtre

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) 

Je ne ai jamais connu ce comportement avant. Des idées pour lesquelles le plan d'exécution ne peut être estimé?

+1

Aide -> À propos de. Quelle version est Management Studio? Les dernières versions sont [déployées indépendamment de SQL Server] (https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms), donc pas de raison de ne pas être en haut -à ce jour. –

+2

Utilisez-vous une version antérieure de l'ensemble d'outils? On dirait que cela pourrait provoquer l'erreur de validation. Si le serveur est 2016, installez les outils SSMS 2016. Voici un fil connexe où cela semble être la réponse https://social.msdn.microsoft.com/Forums/en-US/05869260-f6a7-44a6-b2ab-da638e050ec2/instance-validation-error-window-spool-is -non-une-valeur-valable-pour-physicaloptype? forum = transactsql – Will

+0

c'est tout! Je viens de me rendre compte que je cours sur un client avec SQL Management Studio 2008. Comme les fonctions de fenêtre ont été ajoutées plus tard avec SQL Server 2012, la version «plus ancienne» de Mgmt Studio n'est bien sûr pas capable d'afficher le plan. –

Répondre

0

Solution:
La version de Microsoft SQL Server Management Studio est antérieure à Microsoft SQL Server.

Dans mon cas:
Microsoft SQL Server Management Studio Version 10.50.1600.1 (pour SQL Server 2008 R2)
Microsoft SQL Server 2016

fonctions Comme fenêtré comme LAG() ont été libérés avec SQL Server 2012 , l'ancienne version de Management Studio n'est pas capable d'interpréter/afficher le plan d'exécution avec des fonctions fenêtrées.

+0

Il est préférable d'utiliser la version séparée de SSMS téléchargeable à l'avenir. Ceci est maintenu à jour pour les nouvelles versions de SQL, y compris Azure SQL Database et inclut un certain support pour les versions qui doivent encore être publiées (SQL 2017). La version actuelle de cette écriture est SSMS 17.1. –

+0

je sais. juste un peu compliqué ici. Je dois utiliser le poste de travail d'un client dans un projet et ne pas pouvoir installer quoi que ce soit. mais je vais essayer de les convaincre. –