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
* Implements a persistent version store cleaner thread per database instead of per instance. Impreoves version cleanup when there are multiple databases on the same instance.
44
+
45
+
## Performance optimization
46
+
47
+
* Improvements to string processing for columnstore indexes
48
+
* In-Memory OLTP memory management improvements
49
+
* Improve memory management in large memory servers to reduce out of memory conditions
50
+
* Add a new stored procedure to manually release unused memory on demand
51
+
52
+
* Concurrent GAM and SGAM updates allows multiple threads updating GAM and SGAM pages under S latch.
53
+
* Degree of parallelism (DOP) feedback automatically adjusts degree of parallelism for repeating queries to optimize for workloads where excessive parallelism can cause performance issues. Similar to optimizations in Azure SQL Database. See [Configure the max degree of parallelism (MAXDOP) in Azure SQL Database](/azure/azure-sql/database/configure-max-degree-of-parallelism).
54
+
* Multiple TCP connections for Distributed Availability Groups
55
+
* Enables the use of multiple TCP connections for better network bandwidth utilization across a remote link with long tcp latencies.
56
+
57
+
## Language improvements
58
+
59
+
* Approximate Percentile - There are two new approximate percentile functions introduced.
*[Auto Drop Statistics](https://github.com/microsoft/SQLEAP/blob/main/docs/auto%20drop%20statistics)
63
+
64
+
## Business continuity and disaster recovery
65
+
66
+
* Distributed availability group lossless failover
67
+
* Adds distributed availability group for support for `REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT`. For more information, review [CREATE AVAILABILITY GROUP (Transact-SQL)](../t-sql/statements/create-availability-group-transact-sql.md).
68
+
69
+
* Improved Snapshot backup support by adding T-SQL support for freezing/thawing I/O without requiring a VDI client
70
+
71
+
## Access control
72
+
73
+
SQL Server 2022 Preview introduces new granular permissions and roles.
74
+
75
+
### New granular permissions
76
+
77
+
*`CREATE LOGIN` and `CREATE USER`
78
+
* Complements the existing `ALTER ANY LOGIN` or `USER` and allows permitting only the creation of accounts but not change existing accounts
79
+
80
+
*`VIEW SERVER SECURITY STATE` and `VIEW DATABASE SECURITY STATE`
81
+
* All dynamic management views (DMV) in SQL Server are covered by `VIEW SERVER` respectively `VIEW DATABASE STATE`. A subset of DMVs contains information about the security configuration that is not necessary to disclose to for example performance monitoring tasks but would be required to conduct a security auditing. These are covered with this new permission
82
+
83
+
*`VIEW SERVER PERFORMANCE STATE` and `VIEW DATABASE PERFORMANCE STATE`
84
+
* All DMVs in SQL Server are covered by `VIEW SERVER` respectively `VIEW DATABASE STATE`. A subset of DMVs contains information about the security configuration that is not necessary to disclose to for example performance monitoring tasks. The remaining DMVs are covered with this new permission.
85
+
*`VIEW ANY DEFINITION` and `VIEW SECURITY DEFINITION`
86
+
* All catalog views in SQL Server are covered by `VIEW ANY DEFINITION` on server respectively `VIEW DEFINITION` on database. A subset of catalog views contains information about the security configuration that should be limited to a security role. These are covered with this new permission.
87
+
*`VIEW ANY CRYPTOGRAPHICALLY SECURED DEFINITION` and `VIEW CRYPTOGRAPHICALLY SECURED DEFINITION` (server and database)
88
+
* There are a small number of columns in catalog views that contain data that is highly sensitive and should not be disclosed to everyone who may otherwise have access to the other columns. Examples: key values and passwords. While none of these are stored anywhere in clear text within SQL Server, having even access to the encrypted or hashed value may be considered too risky to disclose. These new permissions cover access to such data.
89
+
90
+
### New roles
91
+
92
+
*`##MS_DefinitionReader##`
93
+
* Holds `VIEW ANY DEFINITION`
94
+
*`##MS_ServerStateManager##`
95
+
* Holds `ALTER SERVER STATE`
96
+
*`##MS_ServerStateReader##`
97
+
* Holds `VIEW SERVER STATE`
98
+
*`##MS_SecurityDefinitionReader##`
99
+
* Holds `VIEW ANY SECURITY DEFINITION`
100
+
*`##MS_DatabaseConnector##`
101
+
* Holds `CONNECT ANY DATABASE`
102
+
* Allows connect to any database on the logical server
103
+
* The ideal counterpart for `##MS_ServerStateReader##,``##MS_DefinitionReader##` and `##MS_SecurityDefinitionReader##`
0 commit comments