Function sys.dm_exec_sql_text can take a sql_handle or a plan_handle as a parameter,

And it returns the SQL text that matches the handle. Any sensitive information that SQL can be included in the text, such as the password is blocked on returning SQL.

And it returns the SQL text that matches the handle. Any sensitive information that SQL can be included in the text, such as the password is blocked on returning SQL. The function in the text column contains the entire SQL batch text for the adhoc, which is prepared,

And for self-certified queries, and items like triggers, procedures and functions, this gives full object definition. Viewing SQL text from sys.dm_exec_sql_text is useful in quickly identifying similar batches

Due to many factors, there may be different compiled schemes, such as SET option difference.

And for self-certified queries, and items like triggers, procedures and functions, this gives full object definition. Viewing SQL text from sys.dm_exec_sql_text is useful in quickly identifying similar batches Due to many factors, there may be different compiled schemes, such as SET option difference. As an example, consider the following code, which executes two identical batches. This is example

When we first discussed the use of DBCC FREEPROCCACHE, then it is similar to that

A sql_handle, but this time, we see sql_handle and plan_handle values. the only difference

Between two consecutive execution, the value of the set option is quoted _IDENTIFIER changed. It is locked in the first execution and is running in the second. After executing both batches.

we check the sys.dm_exec_query_stats view:

USE Northwind2; GO DBCC FREEPROCCACHE; SET QUOTED_IDENTIFIER OFF; GO -- this is an example of relationship between sql_handle and plan_handle SELECT LastName, FirstName, Country FROM Employees WHERE Country <> 'USA'; GO SET QUOTED_IDENTIFIER ON; GO -- this is an example of the relationship between sql_handle and plan_handle SELECT LastName, FirstName, Country FROM Employees WHERE Country <> 'USA'; GO SELECT st.text, qs. sql_handle, qs.plan_handle FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(sql_handle) st; GO

After execution you can see two rows with the same text string and sql_handle, but with different plan_handle values.