You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -304,4 +304,4 @@ There is parity between Linux and Windows for [Resource governance](../t-sql/sta
304
304
305
305
Java developers can get started with some simple examples, and learn the basics of how Java works with SQL Server. For your next step, see the following links:
306
306
307
-
+[Tutorial: Regular expressions with Java](../language-extensions/tutorials/search-for-string-using-regular-expressions-in-java.md)
307
+
+[Tutorial: Regular expressions with Java](../language-extensions/tutorials/search-for-string-using-regular-expressions-in-java.md)
The Query Store object provides counters to monitor resource utilization of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] to store query texts, execution plans and runtime stats for objects such as stored procedures, ad hoc and prepared [!INCLUDE[tsql](../../includes/tsql-md.md)] statements, and triggers.
21
+
The Query Store object provides counters to monitor resource utilization of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] to store query texts, execution plans and runtime stats for objects such as stored procedures, ad hoc and prepared [!INCLUDE[tsql](../../includes/tsql-md.md)] statements, and triggers.
21
22
22
-
This table describes are the **SQLServer:Query Store**counters.
23
+
This table describes are the **SQLServer:Query Store**counters.
|**Query Store CPU usage**|Indicates Query Stores usage of the CPU.|
27
+
|**Query Store CPU usage**|Indicates Query Store's usage of the CPU as a percentile of the use of the CPU by other processes.|
27
28
|**Query Store logical reads**|Indicates the number of logical reads made by the Query Store.|
28
29
|**Query Store logical writes**|Indicates how much data is being queued to be flushed from the Query Store. The frequency and delay of adding items (that represent runtime stats) to the queue is controlled by Data Flush Interval setting.|
29
30
|**Query Store physical reads**|Indicates the number of physical reads made by the Query Store.|
@@ -36,9 +37,8 @@ ms.author: jrasnick
36
37
|\<database name>|Query Store information for this database.|
37
38
38
39
## See Also
39
-
[Monitoring Performance By Using the Query Store](../../relational-databases/performance/monitoring-performance-by-using-the-query-store.md)
40
-
[Query Store Stored Procedures (Transact-SQL)](../../relational-databases/system-stored-procedures/query-store-stored-procedures-transact-sql.md)
41
-
[Query Store Catalog Views (Transact-SQL)](../../relational-databases/system-catalog-views/query-store-catalog-views-transact-sql.md)
-[Monitoring Performance By Using the Query Store](../../relational-databases/performance/monitoring-performance-by-using-the-query-store.md)
42
+
-[Query Store Stored Procedures (Transact-SQL)](../../relational-databases/system-stored-procedures/query-store-stored-procedures-transact-sql.md)
43
+
-[Query Store Catalog Views (Transact-SQL)](../../relational-databases/system-catalog-views/query-store-catalog-views-transact-sql.md)
In earlier versions of [!INCLUDE[ssNoVersion](../../../includes/ssnoversion-md.md)], the only way for a user to reacquire its original security context after starting an application role is to disconnect and reconnect to [!INCLUDE[ssNoVersion](../../../includes/ssnoversion-md.md)]. Beginning with [!INCLUDE[ssVersion2005](../../../includes/ssversion2005-md.md)], **sp_setapprole** has an option that creates a cookie. The cookie contains context information before the application role is enabled. The cookie can be used by **sp_unsetapprole** to revert the session to its original context. For information about this new option and an example, see [sp_setapprole (Transact-SQL)](../../../relational-databases/system-stored-procedures/sp-setapprole-transact-sql.md).
47
47
48
48
> [!IMPORTANT]
49
-
> The ODBC **encrypt** option is not supported by **SqlClient**. When you are transmitting confidential information over a network, use Secure Sockets Layer (SSL) or IPsec to encrypt the channel. If you must persist credentials in the client application, encrypt the credentials by using the crypto API functions. In [!INCLUDE[ssVersion2005](../../../includes/ssversion2005-md.md)] and later versions, the parameter *password* is stored as a one-way hash.
49
+
> The ODBC **encrypt** option is not supported by **SqlClient**. When you are transmitting confidential information over a network, use Transport Layer Security (TLS), previously known as Secure Sockets Layer (SSL), or IPsec to encrypt the channel. If you must persist credentials in the client application, encrypt the credentials by using the crypto API functions. In [!INCLUDE[ssVersion2005](../../../includes/ssversion2005-md.md)] and later versions, the parameter *password* is stored as a one-way hash.
Copy file name to clipboardExpand all lines: docs/relational-databases/security/security-center-for-sql-server-database-engine-and-azure-sql-database.md
|**Firewall Protection**<br /><br />  Windows Firewall Settings<br /><br />  Azure Service Firewall Settings<br /><br />  Database Firewall Settings|[Configure a Windows Firewall for Database Engine Access](../../database-engine/configure-windows/configure-a-windows-firewall-for-database-engine-access.md)<br /><br /> [Azure SQL Database Firewall Settings](../../relational-databases/system-stored-procedures/sp-set-database-firewall-rule-azure-sql-database.md)<br /><br /> [Azure Service Firewall Settings](../../relational-databases/system-stored-procedures/sp-set-firewall-rule-azure-sql-database.md)|
61
-
|**Encrypting Data in Transit**<br /><br />  Forced SSL Connections<br /><br />  Optional SSL Connections|[Secure Sockets Layer for the Database Engine](../../database-engine/configure-windows/enable-encrypted-connections-to-the-database-engine.md)<br /><br /> [Secure Sockets Layer for SQL Database](https://msdn.microsoft.com/library/azure/ff394108.aspx)<br /><br /> [TLS 1.2 support for Microsoft SQL Server](https://support.microsoft.com/kb/3135244)|
61
+
|**Encrypting Data in Transit**<br /><br />  Forced SSL Connections<br /><br />  Optional SSL Connections|[Enable Encrypted Connections to the Database Engine](../../database-engine/configure-windows/enable-encrypted-connections-to-the-database-engine.md)<br /><br /> [Enable Encrypted Connections to the Database Engine](../../database-engine/configure-windows/enable-encrypted-connections-to-the-database-engine.md), [Network security](/azure/sql-database/sql-database-security-best-practice#network-security)<br /><br /> [TLS 1.2 support for Microsoft SQL Server](https://support.microsoft.com/kb/3135244)|
Copy file name to clipboardExpand all lines: docs/relational-databases/system-dynamic-management-views/sys-dm-db-tuning-recommendations-transact-sql.md
|**revert\_action\_initiated\_by**|**nvarchar(4000)**|`User` = User manually unforced recommended plan. <br /> `System` = System automatically reverted recommendation. |
50
50
|**revert\_action\_initiated\_time**|**datetime2**| Date the recommendation was reverted. |
51
51
|**score**|**int**| Estimated value/impact for this recommendation on the 0-100 scale (the larger the better) |
52
-
| **details** | **nvarchar(max)** | JSON document that contains more details about the recommendation. Following fields are available:<br /><br />`planForceDetails`<br />- `queryId` - query\_id of the regressed query.<br />- `regressedPlanId` - plan_id of the regressed plan.<br />- `regressedPlanExecutionCount` - Number of executions of the query with regressed plan before the regression is detected.<br />- `regressedPlanAbortedCount` - Number of detected errors during the execution of the regressed plan.<br />- `regressedPlanCpuTimeAverage` - Average CPU time consumed by the regressed query before the regression is detected.<br />- `regressedPlanCpuTimeStddev` - Standard deviation of CPU time consumed by the regressed query before the regression is detected.<br />- `recommendedPlanId` - plan_id of the plan that should be forced.<br />- `recommendedPlanExecutionCount`- Number of executions of the query with the plan that should be forced before the regression is detected.<br />- `recommendedPlanAbortedCount` - Number of detected errors during the execution of the plan that should be forced.<br />- `recommendedPlanCpuTimeAverage` - Average CPU time consumed by the query executed with the plan that should be forced (calculated before the regression is detected).<br />- `recommendedPlanCpuTimeStddev` Standard deviation of CPU time consumed by the regressed query before the regression is detected.<br /><br />`implementationDetails`<br />- `method` - The method that should be used to correct the regression. Value is always `TSql`.<br />- `script` - [!INCLUDE[tsql_md](../../includes/tsql-md.md)] script that should be executed to force the recommended plan. |
52
+
| **details** | **nvarchar(max)** | JSON document that contains more details about the recommendation. Following fields are available:<br /><br />`planForceDetails`<br />- `queryId` - query\_id of the regressed query.<br />- `regressedPlanId` - plan_id of the regressed plan.<br />- `regressedPlanExecutionCount` - Number of executions of the query with regressed plan before the regression is detected.<br />- `regressedPlanAbortedCount` - Number of detected errors during the execution of the regressed plan.<br />- `regressedPlanCpuTimeAverage` - Average CPU time (in micro seconds) consumed by the regressed query before the regression is detected.<br />- `regressedPlanCpuTimeStddev` - Standard deviation of CPU time consumed by the regressed query before the regression is detected.<br />- `recommendedPlanId` - plan_id of the plan that should be forced.<br />- `recommendedPlanExecutionCount`- Number of executions of the query with the plan that should be forced before the regression is detected.<br />- `recommendedPlanAbortedCount` - Number of detected errors during the execution of the plan that should be forced.<br />- `recommendedPlanCpuTimeAverage` - Average CPU time (in micro seconds) consumed by the query executed with the plan that should be forced (calculated before the regression is detected).<br />- `recommendedPlanCpuTimeStddev` Standard deviation of CPU time consumed by the regressed query before the regression is detected.<br /><br />`implementationDetails`<br />- `method` - The method that should be used to correct the regression. Value is always `TSql`.<br />- `script` - [!INCLUDE[tsql_md](../../includes/tsql-md.md)] script that should be executed to force the recommended plan. |
53
53
54
54
## Remarks
55
55
Information returned by `sys.dm_db_tuning_recommendations` is updated when database engine identifies potential query performance regression, and is not persisted. Recommendations are kept only until [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] is restarted. Database administrators should periodically make backup copies of the tuning recommendation if they want to keep it after server recycling.
@@ -68,16 +68,16 @@ JSON document in `state` column contains the reason that describes why is the re
68
68
69
69
| Reason | Description |
70
70
|--------|-------------|
71
-
|`SchemaChanged`| Recommendation expired because the schema of a referenced table is changed. |
72
-
|`StatisticsChanged`| Recommendation expired due to the statistic change on a referenced table. |
71
+
|`SchemaChanged`| Recommendation expired because the schema of a referenced table is changed. New recommendation will be created if a new query plan regression is detected on the new schema. |
72
+
|`StatisticsChanged`| Recommendation expired due to the statistic change on a referenced table. New recommendation will be created if a new query plan regression is detected based on new statistics. |
73
73
|`ForcingFailed`| Recommended plan cannot be forced on a query. Find the `last_force_failure_reason` in the [sys.query_store_plan](../../relational-databases/system-catalog-views/sys-query-store-plan-transact-sql.md) view to find the reason of the failure. |
74
74
|`AutomaticTuningOptionDisabled`|`FORCE_LAST_GOOD_PLAN` option is disabled by the user during verification process. Enable `FORCE_LAST_GOOD_PLAN` option using [ALTER DATABASE SET AUTOMATIC_TUNING (Transact-SQL)](../../t-sql/statements/alter-database-transact-sql-set-options.md) statement or force the plan manually using the script in `[details]` column. |
75
75
|`UnsupportedStatementType`| Plan cannot be forced on the query. Examples of unsupported queries are cursors and `INSERT BULK` statement. |
76
76
|`LastGoodPlanForced`| Recommendation is successfully applied. |
77
77
|`AutomaticTuningOptionNotEnabled`|[!INCLUDE[ssde_md](../../includes/ssde_md.md)] identified potential performance regression, but the `FORCE_LAST_GOOD_PLAN` option is not enabled - see [ALTER DATABASE SET AUTOMATIC_TUNING (Transact-SQL)](../../t-sql/statements/alter-database-transact-sql-set-options.md). Apply recommendation manually or enable `FORCE_LAST_GOOD_PLAN` option. |
78
78
|`VerificationAborted`| Verification process is aborted due to the restart or Query Store cleanup. |
79
79
|`VerificationForcedQueryRecompile`| Query is recompiled because there is no significant performance improvement. |
80
-
|`PlanForcedByUser`| User manually forced the plan using [sp_query_store_force_plan (Transact-SQL)](../../relational-databases/system-stored-procedures/sp-query-store-force-plan-transact-sql.md) procedure. |
80
+
|`PlanForcedByUser`| User manually forced the plan using [sp_query_store_force_plan (Transact-SQL)](../../relational-databases/system-stored-procedures/sp-query-store-force-plan-transact-sql.md) procedure. Database engine will not apply the recommendation if user explicitly decided to force some plan. |
81
81
|`PlanUnforcedByUser`| User manually unforced the plan using [sp_query_store_unforce_plan (Transact-SQL)](../../relational-databases/system-stored-procedures/sp-query-store-unforce-plan-transact-sql.md) procedure. |
82
82
83
83
Statistic in the details column do not show runtime plan statistics (for example, current CPU time). The recommendation details are taken at the time of regression detection and describe why [!INCLUDE[ssde_md](../../includes/ssde_md.md)] identified performance regression. Use `regressedPlanId` and `recommendedPlanId` to query [Query Store catalog views](../../relational-databases/performance/how-query-store-collects-data.md) to find exact runtime plan statistics.
|group_name|**sysname**|For requests utilizing resources, group_name is the name of the workload group the request is running under. If the request does not utilize resources, group_name is null.</br>Applies to: Azure SQL Data Warehouse|
39
39
|classifier_name|**sysname**|For requests utilizing resources, The name of the classifier used for assigning resources and importance.||
40
40
|resource_allocation_percentage|**decimal(5,2)**|The percentage amount of resources allocated to the request.</br>Applies to: Azure SQL Data Warehouse|
41
-
|result_set_cache|**bit**|Details whether a completed query used result set cache. </br>Applies to: Azure SQL Data Warehouse| 1 = Result set cache hit </br> 0 = Result set cache miss </br> Negative values = Reasons why result set caching was not used. See remarks section for details.|
41
+
|result_cache_hit|**hexadecimal**|Details whether a completed query used result set cache. </br>Applies to: Azure SQL Data Warehouse| 1 = Result set cache hit </br> 0 = Result set cache miss </br> Negative values = Reasons why result set caching was not used. See remarks section for details.|
42
42
||||
43
43
44
44
## Remarks
45
45
For information about the maximum rows retained by this view, see the Metadata section in the [Capacity limits](/azure/sql-data-warehouse/sql-data-warehouse-service-capacity-limits#metadata) topic.
46
46
47
-
The result_set_cache is a bitmask of a query's use of result set cache. This column can be the [| (Bitwise OR)](../../t-sql/language-elements/bitwise-or-transact-sql.md) product of one or more of these values:
47
+
The result_cache_hit is a bitmask of a query's use of result set cache. This column can be the [| (Bitwise OR)](../../t-sql/language-elements/bitwise-or-transact-sql.md) product of one or more of these values:
The encrypt option is not supported on connections that are using **SqlClient**.
49
49
50
50
> [!IMPORTANT]
51
-
> The ODBC **encrypt** function does not provide encryption. You should not rely on this function to protect passwords that are transmitted over a network. If this information will be transmitted across a network, use SSL or IPSec.
51
+
> The ODBC **encrypt** function does not provide encryption. You should not rely on this function to protect passwords that are transmitted over a network. If this information will be transmitted across a network, use TLS or IPSec.
52
52
53
53
**@encrypt = 'none'**
54
54
Specifies that no obfuscation be used. The password is passed to [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] as plain text. This is the default.
0 commit comments