Das StatementParameterizationType
Attribut gibt die Art der Parametrisierung an, die auf die Anweisung angewendet wird.
Die Werte sind dokumentiert in sys.query_store_query
:
- 0 = Keine
- 1 = Benutzer
- 2 = Einfach
- 3 = erzwungen
Es wird nur auf dem Stammknoten von Plänen nach der Ausführung ("tatsächlich") angezeigt .
Der Abfragespeicher muss ebenfalls aktiviert sein , damit dieses Attribut angezeigt wird (z. B. in SSMS).
AdventureWorks- Demo:
USE AdventureWorks2017;
GO
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
ALTER DATABASE CURRENT SET PARAMETERIZATION SIMPLE;
GO
-- None (0)
SELECT COUNT_BIG(*)
FROM Production.Product AS P
WHERE P.Color = N'Red';
GO
-- User (1)
EXECUTE sys.sp_executesql
@stmt = N'
SELECT COUNT_BIG(*)
FROM Production.Product AS P
WHERE P.Color = @Color;',
@params = N'@Color nvarchar(15)',
@Color = N'Red';
GO
-- Simple (2)
SELECT A.AddressID
FROM Person.[Address] AS A
WHERE A.AddressLine1 = N'1 Smiling Tree Court';
GO
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
ALTER DATABASE CURRENT SET PARAMETERIZATION FORCED;
GO
-- Forced (3)
SELECT COUNT_BIG(*)
FROM Production.Product AS P
WHERE P.Color = N'Red';