sp_control_plan_guide (języka Transact-SQL)
Spadnie, włącza lub wyłącza przewodnik planu.
Składnia
sp_control_plan_guide [ @operation = ] N'<control_option>'
[ , [ @name = ] N'plan_guide_name' ]
<control_option>::=
{
DROP
| DROP ALL
| DISABLE
| DISABLE ALL
| ENABLE
| ENABLE ALL
}
Argumenty
N'plan_guide_name"
Określa przewodnik planu zostanie usunięty, włączona lub wyłączona.plan_guide_namezostał rozwiązany w bieżącej bazie danych.Jeśli nie określono plan_guide_name Domyślna wartość NULL.UPUŚĆ
Krople przewodnik planu określone przez plan_guide_name.Po przerwaniu przewodnik planu przyszłych wykonania kwerendy wcześniej dopasowane przez przewodnik planu nie są zakłócone przez przewodnik planu.USUWANIE WSZYSTKICH
Wszystkie prowadnice plan spadnie w bieżącej bazie danych.**N'**plan_guide_name nie można określić podczas UPUSZCZANIA jest określona wartość ALL.WYŁĄCZ
Wyłącza przewodnik planu określone przez plan_guide_name.Po wyłączeniu przewodnik planu przyszłych wykonania kwerendy wcześniej dopasowane przez przewodnik planu nie są zakłócone przez przewodnik planu.WYŁĄCZ WSZYSTKIE
Wyłącza wszystkie prowadnice planu w bieżącej bazie danych.**N'**plan_guide_name nie można określić, kiedy Wyłącz wszystkie jest określony.WŁĄCZ
Umożliwia przewodnik planu określonej przez plan_guide_name.przewodnik planu można uzgodnić z kwerendy kwalifikujących się po jego włączeniu.Domyślnie linie pomocnicze planu są włączone w czas ich tworzenia.WŁĄCZ WSZYSTKIE
Włącza wszystkie prowadnice planu w bieżącej bazie danych.**N'plan_guide_name"**nie można określić, kiedy włączone jest określona wartość ALL.
Uwagi
Próby drop lub zmodyfikowania funkcja, procedura składowanalub wyzwalacza DML , który jest wywoływany przez przewodnik planu, włączony lub wyłączony, powoduje błąd.
Wyłączone przewodnik planu wyłączanie i włączanie włączone przewodnik planu nie ma wpływu i działającą bez błędów.
Można wykonać sp_control_plan_guide z PRZECIĄGANIA lub usuwanie wszystkich opcji w dowolnej wersji programu SQL Server; Jednakże wszystkie inne opcje są dostępne tylko w wersji Standard i Enterprise.
Uprawnienia
wykonaćsp_control_plan_guide na przewodnik planu typu obiektu (utworzony, określając @ Typ = 'obiektu' ) wymaga zmiany uprawnień dla obiektu, który jest wywoływany przez przewodnik planu. Plan inne prowadnice wymagają uprawnienia ZMIEŃ bazę danych.
Przykłady
A.Włączanie, wyłączanie i upuszczając przewodnik planu
Poniższy przykład tworzy przewodnik planu, wyłącza je, umożliwia on i obniży się go.
--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
--Disable the plan guide.
EXEC sp_control_plan_guide N'DISABLE', N'Guide3';
GO
--Enable the plan guide.
EXEC sp_control_plan_guide N'ENABLE', N'Guide3';
GO
--Drop the plan guide.
EXEC sp_control_plan_guide N'DROP', N'Guide3';
B.Wyłączenie wszystkich prowadnic planu w bieżącej bazie danych
Następujący przykład wyłącza wszystkie prowadnice planu w AdventureWorks2008R2 bazy danych.
USE AdventureWorks2008R2;
GO
EXEC sp_control_plan_guide N'DISABLE ALL';
Zobacz także