Usuń przewodnik po planie

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Przewodnik po planie można usunąć (usunąć) w SQL Server przy użyciu SQL Server Management Studio lub Transact-SQL. Korzystając z języka Transact-SQL, można również usunąć wszystkie przewodniki dotyczące planu w bazie danych.

w tym temacie

Przed rozpoczęciem

Zabezpieczenia

Uprawnienia

Usunięcie przewodnika planu obiektu wymaga uprawnienia ALTER do obiektu (na przykład funkcji, procedury składowanej), do którego odwołuje się ten przewodnik planu. Wszystkie inne przewodniki dotyczące planu wymagają uprawnienia ALTER DATABASE.

Korzystanie z programu SQL Server Management Studio

Aby usunąć przewodnik planu

  1. Kliknij znak plus, aby rozwinąć bazę danych, w której chcesz usunąć przewodnik dotyczący planu, a następnie znak plus, aby otworzyć folder Programmability.

  2. Kliknij znak plusa, aby rozwinąć folder Przewodniki Planu.

  3. Kliknij prawym przyciskiem myszy na przewodniku planu, który chcesz usunąć, a następnie wybierz Usuń.

  4. W oknie dialogowym Usuń obiekt upewnij się, że wybrano prawidłowy przewodnik planu, a następnie kliknij przycisk OK.

Korzystanie z Transact-SQL

Aby usunąć pojedynczy przewodnik po planie

  1. W Eksploratorze obiektów nawiąż połączenie z wystąpieniem Silnika bazy danych.

  2. Na pasku Standardowym kliknij pozycję Nowe zapytanie.

  3. Skopiuj i wklej poniższy przykład w oknie zapytania, a następnie kliknij pozycję Wykonaj.

    --Create a procedure on which to define the plan guide.  
    IF OBJECT_ID(N'Sales.GetSalesOrderByCountry', N'P') IS NOT NULL  
        DROP PROCEDURE Sales.GetSalesOrderByCountry;  
    GO  
    CREATE PROCEDURE Sales.GetSalesOrderByCountry   
        (@Country nvarchar(60))  
    AS  
    BEGIN  
        SELECT *  
        FROM Sales.SalesOrderHeader AS h   
        INNER JOIN Sales.Customer AS c ON h.CustomerID = c.CustomerID  
        INNER JOIN Sales.SalesTerritory AS t ON c.TerritoryID = t.TerritoryID  
        WHERE t.CountryRegionCode = @Country;  
    END  
    GO  
    --Create the plan guide.  
    EXEC sp_create_plan_guide N'Guide3',  
        N'SELECT *  
        FROM Sales.SalesOrderHeader AS h   
        INNER JOIN Sales.Customer AS c ON h.CustomerID = c.CustomerID  
        INNER JOIN Sales.SalesTerritory AS t ON c.TerritoryID = t.TerritoryID  
        WHERE t.CountryRegionCode = @Country',  
        N'OBJECT',  
        N'Sales.GetSalesOrderByCountry',  
        NULL,  
        N'OPTION (OPTIMIZE FOR (@Country = N''US''))';  
    GO  
    --Drop the plan guide.  
    EXEC sp_control_plan_guide N'DROP', N'Guide3';  
    GO  
    

Aby usunąć wszystkie przewodniki dotyczące planu w bazie danych

  1. W Eksploratorze obiektów nawiąż połączenie z wystąpieniem Silnika bazy danych.

  2. Na pasku Standardowym kliknij pozycję Nowe zapytanie.

  3. Skopiuj i wklej poniższy przykład w oknie zapytania, a następnie kliknij pozycję Wykonaj.

    USE AdventureWorks2022;  
    GO  
    EXEC sp_control_plan_guide N'DROP ALL';  
    GO  
    

Aby uzyskać więcej informacji, zobacz sp_control_plan_guide (Transact-SQL).