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
Copy file name to clipboardExpand all lines: azure-sql/database/doc-changes-updates-release-notes-whats-new.md
+9-2Lines changed: 9 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ description: Learn about the new features and documentation improvements for Azu
5
5
author: WilliamDAssafMSFT
6
6
ms.author: wiassaf
7
7
ms.reviewer: mathoma, randolphwest
8
-
ms.date: 11/03/2025
8
+
ms.date: 01/29/2026
9
9
ms.service: azure-sql-database
10
10
ms.subservice: service-overview
11
11
ms.topic: whats-new
@@ -27,7 +27,7 @@ This article summarizes the documentation changes associated with new features a
27
27
> [!TIP]
28
28
> [Deploy Azure SQL Database for free](free-offer.md), for the life of your Azure subscription. This free offer provides up to ten free General Purpose databases, each with 100,000 vCore seconds of compute, every month.
29
29
30
-
For more announcements, discussion, and community content, see the [Azure SQL Database blog](https://techcommunity.microsoft.com/t5/azure-sql-blog/bg-p/AzureSQLBlog).
30
+
For more announcements, discussion, and community content, see the [Azure SQL Database blog](https://techcommunity.microsoft.com/category/azuredatabases/blog/azuresqlblog).
31
31
32
32
## Preview
33
33
@@ -54,6 +54,7 @@ The following table lists the features of Azure SQL Database that are currently
54
54
|**Network Security Perimeter**|[Azure Network Security Perimeter](network-security-perimeter.md) allows organizations to define a logical network isolation boundary for PaaS resources (for example, Azure Storage and SQL Database) that are deployed outside your organization's virtual networks. It restricts public network access to PaaS resources outside of the perimeter, and access can be exempted by using explicit access rules for public inbound and outbound. |
55
55
|**Query editor in the Azure portal**| The [query editor in the Azure portal](query-editor.md) allows you to run queries against your Azure SQL Database directly from a web browser. |
56
56
|**Restart database in the Azure portal**| You can [restart your SQL database or elastic pool](restart-database.md) from the Azure portal. |
57
+
|**Multiple secondaries for failover groups**| You can [configure multiple secondary servers for failover groups](failover-group-sql-db.md#multiple-secondaries) in Azure SQL Database. |
57
58
58
59
## General availability (GA)
59
60
@@ -95,6 +96,12 @@ The following table lists features of Azure SQL Database that have been made gen
95
96
96
97
Learn about significant changes to the Azure SQL Database documentation. For previous years, see the [What's new archive](doc-changes-updates-release-notes-whats-new-archive.md).
97
98
99
+
### January 2026
100
+
101
+
| Changes | Details |
102
+
| --- | --- |
103
+
|**Multiple secondaries for failover groups**| You can [configure multiple secondary servers for failover groups](failover-group-sql-db.md#multiple-secondaries) in Azure SQL Database. |
Copy file name to clipboardExpand all lines: azure-sql/database/failover-group-configure-sql-db.md
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
-
title: Configure a failover group
2
+
title: Configure a Failover Group
3
3
titleSuffix: Azure SQL Database
4
4
description: Learn how to configure a failover group for a single or pooled database in Azure SQL Database by using the Azure portal, PowerShell, and the Azure CLI.
@@ -484,6 +484,11 @@ For more information on how to configure outbound access and what IP to use in t
484
484
> [!IMPORTANT]
485
485
> To guarantee business continuity during regional outages you must ensure geographic redundancy for both frontend components and databases.
486
486
487
+
## Multiple secondaries
488
+
489
+
> [!IMPORTANT]
490
+
> Multiple secondaries for failover groups is a preview feature that is not recommended for production workloads. For more information, see [Multiple secondaries for failover groups](failover-group-sql-db.md#multiple-secondaries).
491
+
487
492
## Permissions
488
493
489
494
Permissions for a failover group are managed via [Azure role-based access control (Azure RBAC)](/azure/role-based-access-control/overview).
Copy file name to clipboardExpand all lines: azure-sql/database/failover-group-sql-db.md
+17-3Lines changed: 17 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
-
title: Failover groups overview & best practices
2
+
title: Failover Groups Overview & Best Practices
3
3
description: Failover groups let you manage geo-replication and automatic / coordinated failover of a group of databases on a server for both single and pooled database in Azure SQL Database.
@@ -169,6 +169,20 @@ If an outage occurs in the primary region, recent transactions might not have be
169
169
170
170
When failover groups are configured with a Microsoft-managed failover policy, then forced failover to the geo-secondary server is initiated during a disaster scenario as per the defined grace period. Failback to the old primary must be initiated manually.
171
171
172
+
## Multiple secondaries
173
+
174
+
> [!IMPORTANT]
175
+
> Multiple secondaries for failover groups is a preview feature that is not recommended for production workloads.
176
+
177
+
Each failover group can support multiple secondary servers in the same or different regions. This configuration provides additional options for disaster recovery and enables read-only workloads to be distributed across multiple regions. When configuring multiple secondaries, consider the following:
178
+
179
+
- Up to four secondary servers can be specified for each failover group.
180
+
- Each secondary server can be in the same or a different region from the primary server and from each other.
181
+
- Each secondary server maintains its own geo-replication link with the primary server.
182
+
- Failover can be initiated to any of the secondary servers.
183
+
- The read-only listener can be configured to only one of the secondary servers and must be to a secondary in a different region in order to properly serve read-only workloads.
184
+
- Chaining (creating a geo-replica of a geo-replica) is not supported with this configuration.
185
+
172
186
## Permissions and limitations
173
187
174
188
Review the configure failover group guide for a list of [permissions](failover-group-configure-sql-db.md#permissions) and [limitations](failover-group-configure-sql-db.md#limitations).
Copy file name to clipboardExpand all lines: docs/database-engine/install-windows/install-sql-server.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ Beginning with [!INCLUDE [sssql16-md](../../includes/sssql16-md.md)], [!INCLUDE
32
32
## Get started
33
33
34
34
> [!IMPORTANT]
35
-
> Beginning with [!INCLUDE [sssql25-md](../../includes/sssql25-md.md)], Data Quality Services (DQS), Master Data Services (MDS), Azure Synapse Link, and Reporting Services are removed, and are deprecated on previous versions.
35
+
> Beginning with [!INCLUDE [sssql25-md](../../includes/sssql25-md.md)], Data Quality Services (DQS), Master Data Services (MDS), Azure Synapse Link, and Reporting Services are removed. Azure Synapse Link and Reporting Services were deprecated in previous versions.
36
36
37
37
-**Editions and features**: Review the supported features for the different editions and versions of [!INCLUDE [ssnoversion](../../includes/ssnoversion-md.md)] to determine which best suits your business needs.
@@ -51,42 +53,41 @@ The number of bits by which *expression_value* should be shifted. *shift_amount*
51
53
52
54
Returns the same type as *expression_value*.
53
55
54
-
The *shift_amount* parameter is cast to a **bigint**. The parameter can be positive or negative, and can also be greater than the number of bits in the datatype of *expression_value*. When *shift_amount* is negative, the shift operates in the opposite direction. For example, `LEFT_SHIFT (expr, -1)` is the same as `RIGHT_SHIFT (expr, 1)`. When *shift_amount* is greater than the number of bits in *expression_value*, the result returned will be`0`.
56
+
The *shift_amount* parameter is cast to a **bigint**. The parameter can be positive or negative, and can also be greater than the number of bits in the data type of *expression_value*. When *shift_amount* is negative, the shift operates in the opposite direction. For example, `LEFT_SHIFT (expr, -1)` is the same as `RIGHT_SHIFT (expr, 1)`. When *shift_amount* is greater than the number of bits in *expression_value*, the result returned is`0`.
55
57
56
-
LEFT_SHIFT performs a logical shift. After bits are shifted, any vacant positions will be filled by `0`, regardless of whether the original value was positive or negative.
58
+
`LEFT_SHIFT` performs a logical shift. After bits are shifted, any vacant positions are filled by `0`, regardless of whether the original value was positive or negative.
57
59
58
60
## Remarks
59
61
60
-
In the initial implementation, Distributed Query functionality for the bit manipulation functions within linked server or ad hoc queries (OPENQUERY) won't be supported.
62
+
In the initial implementation, Distributed Query functionality for the bit manipulation functions within linked server or ad hoc queries (`OPENQUERY`) isn't supported.
61
63
62
-
The `<<` method for the `LEFT_SHIFT` function is not currently supported in [!INCLUDE [fabric](../../includes/fabric.md)].
64
+
The `<<` method for the `LEFT_SHIFT` function isn't currently supported in [!INCLUDE [fabric](../../includes/fabric.md)].
63
65
64
66
## Examples
65
67
66
-
In the following example, the integer value 12345 is left-shifted by 5 bits.
68
+
In the following example, the integer value 12,345 is left-shifted by 5 bits.
67
69
68
70
```sql
69
71
SELECT LEFT_SHIFT(12345, 5);
70
72
```
71
73
72
-
The result is 395040. If you convert 12345 to binary, you have `0011 0000 0011 1001`. Shifting this to the left by 5 becomes `0110 0000 0111 0010 0000`, which is `395040` in decimal.
74
+
The result is 395,040. If you convert 12,345 to binary, you have `0011 0000 0011 1001`. Shifting this value to the left by 5 bits becomes `0110 0000 0111 0010 0000`, which is `395040` in decimal.
73
75
74
76
The following table demonstrates what happens during each shift.
75
77
76
-
|Integer value|Binary value|Description|
77
-
|---:|---:|---|
78
-
|12345|`0011 0000 0011 1001`|Starting value|
79
-
|24690|`0110 0000 0111 0010`|Shift left by 1|
80
-
|49380|`1100 0000 1110 0100`|Shift left by 2|
81
-
|98760|`0001 1000 0001 1100 1000`|Shift left by 3,<br/>and open into a new byte|
82
-
|197520|`0011 0000 0011 1001 0000`|Shift left by 4|
83
-
|395040|`0110 0000 0111 0010 0000`|Shift left by 5|
78
+
|Integer value|Binary value|Description|
79
+
|---:|---:|---|
80
+
|`12345`|`0011 0000 0011 1001`|Starting value|
81
+
|`24690`|`0110 0000 0111 0010`|Shift left by 1|
82
+
|`49380`|`1100 0000 1110 0100`|Shift left by 2|
83
+
|`98760`|`0001 1000 0001 1100 1000`|Shift left by 3,and open into a new byte|
84
+
|`197520`|`0011 0000 0011 1001 0000`|Shift left by 4|
85
+
|`395040`|`0110 0000 0111 0010 0000`|Shift left by 5|
@@ -51,42 +53,41 @@ The number of bits by which *expression_value* should be shifted. *shift_amount*
51
53
52
54
Returns the same type as *expression_value*.
53
55
54
-
The *shift_amount* parameter is cast to a **bigint**. The parameter can be positive or negative, and can also be greater than the number of bits in the datatype of *expression_value*. When *shift_amount* is negative, the shift operates in the opposite direction. For example, `LEFT_SHIFT (expr, -1)` is the same as `RIGHT_SHIFT (expr, 1)`. When *shift_amount* is greater than the number of bits in *expression_value*, the result returned will be`0`.
56
+
The *shift_amount* parameter is cast to a **bigint**. The parameter can be positive or negative, and can also be greater than the number of bits in the data type of *expression_value*. When *shift_amount* is negative, the shift operates in the opposite direction. For example, `LEFT_SHIFT (expr, -1)` is the same as `RIGHT_SHIFT (expr, 1)`. When *shift_amount* is greater than the number of bits in *expression_value*, the result returned is`0`.
55
57
56
-
RIGHT_SHIFT performs a logical shift. After bits are shifted, any vacant positions will be filled by `0`, regardless of whether the original value was positive or negative.
58
+
`RIGHT_SHIFT` performs a logical shift. After bits are shifted, any vacant positions are filled by `0`, regardless of whether the original value was positive or negative.
57
59
58
60
## Remarks
59
61
60
-
In the initial implementation, Distributed Query functionality for the bit manipulation functions within linked server or ad hoc queries (OPENQUERY) won't be supported.
62
+
In the initial implementation, Distributed Query functionality for the bit manipulation functions within linked server or ad hoc queries (`OPENQUERY`) aren't supported.
61
63
62
-
The `>>` method for the `RIGHT_SHIFT` function is not currently supported in [!INCLUDE [fabric](../../includes/fabric.md)].
64
+
The `>>` method for the `RIGHT_SHIFT` function isn't currently supported in [!INCLUDE [fabric](../../includes/fabric.md)].
63
65
64
66
## Examples
65
67
66
-
In the following example, the integer value 12345 is right-shifted by 5 bits.
68
+
In the following example, the integer value 12,345 is right-shifted by 5 bits.
67
69
68
70
```sql
69
71
SELECT RIGHT_SHIFT(12345, 5);
70
72
```
71
73
72
-
The result is 385. If you convert 12345 to binary, you have `0011 0000 0011 1001`. Shifting this to the right by 5 becomes `0001 1000 0001`, which is `385` in decimal.
74
+
The result is 385. If you convert 12,345 to binary, you have `0011 0000 0011 1001`. Shifting this value to the right by 5 bits becomes `0001 1000 0001`, which is `385` in decimal.
73
75
74
76
The following table demonstrates what happens during each shift.
0 commit comments