Konvertieren Sie alten Showplan-Text in ein grafisches Format

7

Kennt jemand eine Möglichkeit, alten Showplan-Text in ein grafisches Format zu konvertieren?

Mit anderen Worten, kann ich den von SET SHOWPLAN_TEXT ON zurückgegebenen StmtText nehmen und konvertieren, um mir einen grafischen Ausführungsplan anzuzeigen? Muss ich es in XML und im .sqlplan-Format analysieren, um das Diagramm anzuzeigen?

Eric: Hier ist das Beispiel gegen AdventureWorks:

SET SHOWPLAN_TEXT ON
GO

SELECT c.CustomerID, soh.ShipDate
FROM Sales.SalesOrderDetail sod
    INNER JOIN Sales.SalesOrderHeader soh ON sod.SalesOrderID = soh.SalesOrderID 
    INNER JOIN Sales.Customer c ON c.CustomerID = soh.CustomerID
WHERE sod.SpecialOfferID = 2
AND soh.ShipDate between '2003-01-01 00:00:00.000' and '2004-01-01 00:00:00.000'
AND c.CustomerType = 'I'

Und Sie werden sehen, dass dieser StmtText zurückgegeben wird:

StmtText
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  |--Hash Match(Inner Join, HASH:([soh].[CustomerID])=([c].[CustomerID]))
       |--Hash Match(Inner Join, HASH:([sod].[SalesOrderID])=([soh].[SalesOrderID]))
       |    |--Index Seek(OBJECT:([AdventureWorks].[Sales].[SalesOrderDetail].[ix_nc_SpecialOfferID_inc_SalesOrderID] AS [sod]), SEEK:([sod].[SpecialOfferID]=(2)) ORDERED FORWARD)
       |    |--Index Seek(OBJECT:([AdventureWorks].[Sales].[SalesOrderHeader].[ix_nc_ShipDate_inc_SalesOrderID_CustomerID] AS [soh]), SEEK:([soh].[ShipDate] >= '2003-01-01 00:00:00.000' AND [soh].[ShipDate] <= '2004-01-01 00:00:00.000') ORDERED FORWARD)
       |--Index Seek(OBJECT:([AdventureWorks].[Sales].[Customer].[ix_nc_CustomerType] AS [c]), SEEK:([c].[CustomerType]=N'I') ORDERED FORWARD)
SQLRockstar
quelle
Haben Sie bereits versucht, dies im Plan Explorer von SQL Sentry zu tun?
Eric Humphrey - Lotsahelp
Ja, ich konnte es nicht zum Laufen bringen, aber wenn Sie wissen, wie Sie mit diesem Tool Legacy-Text in einen grafischen Plan konvertieren können, teilen Sie uns bitte die entsprechenden Schritte mit.
SQLRockstar
Haben Sie eine Probe, mit der wir testen können?
Eric Humphrey - Lotsahelp
Eric, ich habe eine Beispielanweisung und showplan_text hinzugefügt, die zurückgegeben werden.
SQLRockstar

Antworten:

4

Microsoft-Kollegen haben mir mitgeteilt, dass dies nicht möglich ist, da das ältere SHOWPLAN_TEXT nicht über genügend Details verfügt, um in einem grafischen Format angezeigt zu werden.

SQLRockstar
quelle