查看计划指南属性

可以使用 SQL Server Management Studio 或 Transact-SQL 查看 SQL Server 2014 中的计划指南的属性

本主题内容

在您开始之前

安全

权限

目录视图中元数据的可见性仅限于用户拥有的安全对象或用户已向其授予某些权限的安全对象。

使用 SQL Server Management Studio

查看计划指南的属性

  1. 单击加号以展开要查看计划指南属性的数据库,然后单击加号以展开 “可编程性 ”文件夹。

  2. 单击加号以展开 “计划指南 ”文件夹。

  3. 右键单击计划指南,然后选择“属性”以查看其属性。

    以下属性显示在“ 计划指南属性 ”对话框中。

    提示
    显示要应用于 Transact-SQL 语句的查询提示或查询计划。 将查询计划指定为提示时,将显示计划的 XML Showplan 输出。

    已禁用
    显示计划指南的状态。 可能的值包括 TrueFalse

    名称
    显示计划指南的名称。

    参数
    当范围类型为 SQL 或 TEMPLATE 时,显示 Transact-SQL 语句中嵌入的所有参数的名称和数据类型。

    范围批处理
    显示 Transact-SQL 语句所在的批处理文本。

    范围对象名称
    当范围类型为 OBJECT 时,显示 Transact-SQL 存储过程、用户定义的标量函数、多语句表值函数或 DML 触发器的名称,其中显示 Transact-SQL 语句。

    范围架构名称
    当范围类型为 OBJECT 时,显示包含对象的架构的名称。

    范围类型
    显示 Transact-SQL 语句所在的实体的类型。 这指定用于将 Transact-SQL 语句与计划指南匹配的上下文。 可能的值为 OBJECTSQLTEMPLATE

    语句
    显示计划指南所适用的 Transact-SQL 语句。

  4. 单击 “确定”

使用 Transact-SQL

查看计划指南的属性

  1. “对象资源管理器” 中,连接到某个数据库引擎实例。

  2. 在标准栏上,单击“新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击 执行

    -- If a plan guide named "Guide1" already exists in the AdventureWorks2012 database, delete it.  
    USE AdventureWorks2012;  
    GO  
    IF OBJECT_ID(N'Guide1') IS NOT NULL  
       EXEC sp_control_plan_guide N'DROP', N'Guide1';  
    GO  
    -- creates a plan guide named Guide1 based on a SQL statement  
    EXEC sp_create_plan_guide   
        @name = N'Guide1',   
        @stmt = N'SELECT TOP 1 *   
                  FROM Sales.SalesOrderHeader   
                  ORDER BY OrderDate DESC',   
        @type = N'SQL',  
        @module_or_batch = NULL,   
        @params = NULL,   
        @hints = N'OPTION (MAXDOP 1)';  
    GO  
    -- Gets the name, created date, and all other relevant property information on the plan guide created above.   
    SELECT name AS plan_guide_name,  
       create_date,  
       query_text,  
       scope_type_desc,  
       OBJECT_NAME(scope_object_id) AS scope_object_name,  
       scope_batch,  
       parameters,  
       hints,  
       is_disabled  
    FROM sys.plan_guides  
    WHERE name = N'Guide1';  
    GO  
    

有关详细信息,请参阅sys.plan_guides(Transact-SQL)。