Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2016 (13.x) e versioni
successive Azure SQL Database
AzureSQL Managed Instance
SQL database in Microsoft Fabric
Ottiene l'oggetto per un'istruzione stmt_sql_handle Transact-SQL nel tipo di parametrizzazione specificato (semplice o forzato). È possibile fare riferimento alle query archiviate in Query Store usando le relative stmt_sql_handle informazioni quando si conosce il testo.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sys.fn_stmt_sql_handle_from_sql_stmt
(
N'query_sql_text'
, [ query_param_type ]
)
[ ; ]
Argomenti
query_sql_text
Testo della query nell'archivio query di cui si desidera l'handle. query_sql_text è nvarchar(max) senza impostazione predefinita.
query_param_type
Tipo di parametro della query.
query_param_type è tinyint, con un valore predefinito .NULL I valori possibili sono:
| Value | Descrizione |
|---|---|
NULL (impostazione predefinita) |
L'impostazione predefinita è 0 |
| 0 | None |
| 1 | User |
| 2 | Simple |
| 3 | Forzato |
Colonne restituite
Nella tabella seguente sono elencate le colonne restituite sys.fn_stmt_sql_handle_from_sql_stmt .
| Nome colonna | Tipo | Descrizione |
|---|---|---|
statement_sql_handle |
varbinary(64) | Handle SQL. |
query_sql_text |
nvarchar(max) | Testo dell'istruzione Transact-SQL. |
query_parameterization_type |
tinyint | Tipo di parametrizzazione della query. |
Valori del codice restituito
0 (esito positivo) o 1 (errore).
Autorizzazioni
È richiesta EXECUTE l'autorizzazione per il database e DELETE l'autorizzazione per le viste del catalogo di Query Store.
Esempi
L'esempio seguente esegue un'istruzione e quindi usa sys.fn_stmt_sql_handle_from_sql_stmt per restituire l'handle SQL di tale istruzione.
SELECT *
FROM sys.databases;
SELECT *
FROM sys.fn_stmt_sql_handle_from_sql_stmt('SELECT * FROM sys.databases', NULL);
Usare la funzione per correlare i dati di Query Store con altre viste a gestione dinamica. L'esempio seguente:
SELECT qt.query_text_id,
q.query_id,
qt.query_sql_text,
qt.statement_sql_handle,
q.context_settings_id,
qs.statement_context_id
FROM sys.query_store_query_text AS qt
INNER JOIN sys.query_store_query AS q
ON qt.query_text_id = q.query_text_id
CROSS APPLY sys.fn_stmt_sql_handle_from_sql_stmt(qt.query_sql_text, NULL) AS fn_handle_from_stmt
INNER JOIN sys.dm_exec_query_stats AS qs
ON fn_handle_from_stmt.statement_sql_handle = qs.statement_sql_handle;
Contenuti correlati
- sp_query_store_force_plan (Transact-SQL)
- sp_query_store_remove_plan (Transact-SQL)
- sp_query_store_unforce_plan (Transact-SQL)
- sp_query_store_reset_exec_stats (Transact-SQL)
- sp_query_store_flush_db (Transact-SQL)
- sp_query_store_remove_query (Transact-SQL)
- Viste del catalogo di Query Store (Transact-SQL)
- Monitorare le prestazioni tramite Query Store