Skip to content

Commit 714dd39

Browse files
Merge pull request #36537 from MicrosoftDocs/main
Auto Publish – main to live - 2026-01-30 18:30 UTC
2 parents 4746b2b + 21d7ed0 commit 714dd39

16 files changed

Lines changed: 415 additions & 295 deletions

azure-sql/database/doc-changes-updates-release-notes-whats-new.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Learn about the new features and documentation improvements for Azu
55
author: WilliamDAssafMSFT
66
ms.author: wiassaf
77
ms.reviewer: mathoma, randolphwest
8-
ms.date: 11/03/2025
8+
ms.date: 01/29/2026
99
ms.service: azure-sql-database
1010
ms.subservice: service-overview
1111
ms.topic: whats-new
@@ -27,7 +27,7 @@ This article summarizes the documentation changes associated with new features a
2727
> [!TIP]
2828
> [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.
2929
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).
3131

3232
## Preview
3333

@@ -54,6 +54,7 @@ The following table lists the features of Azure SQL Database that are currently
5454
| **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. |
5555
| **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. |
5656
| **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. |
5758

5859
## General availability (GA)
5960

@@ -95,6 +96,12 @@ The following table lists features of Azure SQL Database that have been made gen
9596

9697
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).
9798

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. |
104+
98105
### November 2025
99106

100107
| Changes | Details |

azure-sql/database/failover-group-configure-sql-db.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: Configure a failover group
2+
title: Configure a Failover Group
33
titleSuffix: Azure SQL Database
44
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.
55
author: rajeshsetlem
66
ms.author: rsetlem
77
ms.reviewer: wiassaf, mathoma, randolphwest, mahyon
8-
ms.date: 08/05/2025
8+
ms.date: 01/29/2026
99
ms.service: azure-sql-database
1010
ms.subservice: high-availability
1111
ms.topic: how-to
@@ -484,6 +484,11 @@ For more information on how to configure outbound access and what IP to use in t
484484
> [!IMPORTANT]
485485
> To guarantee business continuity during regional outages you must ensure geographic redundancy for both frontend components and databases.
486486
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+
487492
## Permissions
488493

489494
Permissions for a failover group are managed via [Azure role-based access control (Azure RBAC)](/azure/role-based-access-control/overview).

azure-sql/database/failover-group-sql-db.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: Failover groups overview & best practices
2+
title: Failover Groups Overview & Best Practices
33
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.
44
author: WilliamDAssafMSFT
55
ms.author: wiassaf
6-
ms.reviewer: rsetlem, mathoma
7-
ms.date: 01/24/2025
6+
ms.reviewer: rsetlem, mathoma, mahyon, randolphwest
7+
ms.date: 01/29/2026
88
ms.service: azure-sql-database
99
ms.subservice: high-availability
1010
ms.topic: best-practice
@@ -169,6 +169,20 @@ If an outage occurs in the primary region, recent transactions might not have be
169169

170170
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.
171171

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+
172186
## Permissions and limitations
173187

174188
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).

docs/database-engine/install-windows/install-sql-server.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Beginning with [!INCLUDE [sssql16-md](../../includes/sssql16-md.md)], [!INCLUDE
3232
## Get started
3333

3434
> [!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.
3636
3737
- **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.
3838

docs/t-sql/functions/left-shift-transact-sql.md

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: "Transact-SQL reference for the LEFT_SHIFT function."
44
author: thesqlsith
55
ms.author: derekw
66
ms.reviewer: randolphwest
7-
ms.date: 07/26/2022
7+
ms.date: 01/29/2026
88
ms.service: sql
99
ms.subservice: t-sql
1010
ms.topic: reference
@@ -16,24 +16,26 @@ f1_keywords:
1616
helpviewer_keywords:
1717
- "bit manipulation [SQL Server], left shift"
1818
- "LEFT_SHIFT function"
19+
- "bitwise left shift"
1920
- "bit shifting [SQL Server], left shift"
2021
dev_langs:
2122
- "TSQL"
2223
monikerRange: ">=sql-server-ver16 || >=sql-server-linux-ver16 || =azuresqldb-mi-current || =azuresqldb-current || =fabric || =fabric-sqldb"
2324
---
2425
# LEFT_SHIFT (Transact SQL)
26+
2527
[!INCLUDE [SQL Server 2022, SQL Database, SQL Managed Instance FabricSE FabricDW FabricSQLDB](../../includes/applies-to-version/sqlserver2022-asdb-asmi-fabricse-fabricdw-fabricsqldb.md)]
2628

27-
LEFT_SHIFT takes two parameters, and returns the first parameter bit-shifted left by the number of bits specified in the second parameter.
29+
`LEFT_SHIFT` takes two parameters, and returns the first parameter bit-shifted left by the number of bits specified in the second parameter.
2830

29-
The LEFT_SHIFT function is also accessible through the `<<` operator.
31+
The `LEFT_SHIFT` function is also accessible through the `<<` operator.
3032

31-
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: [Transact-SQL syntax conventions](../../t-sql/language-elements/transact-sql-syntax-conventions-transact-sql.md)
33+
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: [Transact-SQL syntax conventions](../../t-sql/language-elements/transact-sql-syntax-conventions-transact-sql.md)
3234

3335
## Syntax
3436

3537
```syntaxsql
36-
LEFT_SHIFT ( expression_value, shift_amount )
38+
LEFT_SHIFT ( expression_value , shift_amount )
3739
expression_value << shift_amount
3840
```
3941

@@ -51,42 +53,41 @@ The number of bits by which *expression_value* should be shifted. *shift_amount*
5153

5254
Returns the same type as *expression_value*.
5355

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`.
5557

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.
5759

5860
## Remarks
5961

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.
6163

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)].
6365

6466
## Examples
6567

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.
6769

6870
```sql
6971
SELECT LEFT_SHIFT(12345, 5);
7072
```
7173

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.
7375

7476
The following table demonstrates what happens during each shift.
7577

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 |
8486

85-
## See also
87+
## Related content
8688

8789
- [RIGHT_SHIFT (Transact SQL)](right-shift-transact-sql.md)
8890
- [SET_BIT (Transact SQL)](set-bit-transact-sql.md)
8991
- [GET_BIT (Transact SQL)](get-bit-transact-sql.md)
9092
- [BIT_COUNT (Transact SQL)](bit-count-transact-sql.md)
9193
- [Bit manipulation functions](bit-manipulation-functions-overview.md)
92-

docs/t-sql/functions/right-shift-transact-sql.md

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: "Transact-SQL reference for the RIGHT_SHIFT function."
44
author: thesqlsith
55
ms.author: derekw
66
ms.reviewer: randolphwest
7-
ms.date: 07/26/2022
7+
ms.date: 01/29/2026
88
ms.service: sql
99
ms.subservice: t-sql
1010
ms.topic: reference
@@ -16,24 +16,26 @@ f1_keywords:
1616
helpviewer_keywords:
1717
- "bit manipulation [SQL Server], right shift"
1818
- "RIGHT_SHIFT function"
19+
- "bitwise right shift"
1920
- "bit shifting [SQL Server], right shift"
2021
dev_langs:
2122
- "TSQL"
2223
monikerRange: ">=sql-server-ver16 || >=sql-server-linux-ver16 || =azuresqldb-mi-current || =azuresqldb-current || =fabric || =fabric-sqldb"
2324
---
2425
# RIGHT_SHIFT (Transact SQL)
26+
2527
[!INCLUDE [SQL Server 2022, SQL Database, SQL Managed Instance FabricSE FabricDW FabricSQLDB](../../includes/applies-to-version/sqlserver2022-asdb-asmi-fabricse-fabricdw-fabricsqldb.md)]
2628

27-
RIGHT_SHIFT takes two parameters, and returns the first parameter bit-shifted right by the number of bits specified in the second parameter.
29+
`RIGHT_SHIFT` takes two parameters, and returns the first parameter bit-shifted right by the number of bits specified in the second parameter.
2830

29-
The RIGHT_SHIFT function is also accessible through the `>>` operator.
31+
The `RIGHT_SHIFT` function is also accessible through the `>>` operator.
3032

31-
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: [Transact-SQL syntax conventions](../../t-sql/language-elements/transact-sql-syntax-conventions-transact-sql.md)
33+
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: [Transact-SQL syntax conventions](../../t-sql/language-elements/transact-sql-syntax-conventions-transact-sql.md)
3234

3335
## Syntax
3436

3537
```syntaxsql
36-
RIGHT_SHIFT ( expression_value, shift_amount )
38+
RIGHT_SHIFT ( expression_value , shift_amount )
3739
expression_value >> shift_amount
3840
```
3941

@@ -51,42 +53,41 @@ The number of bits by which *expression_value* should be shifted. *shift_amount*
5153

5254
Returns the same type as *expression_value*.
5355

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`.
5557

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.
5759

5860
## Remarks
5961

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.
6163

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)].
6365

6466
## Examples
6567

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.
6769

6870
```sql
6971
SELECT RIGHT_SHIFT(12345, 5);
7072
```
7173

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.
7375

7476
The following table demonstrates what happens during each shift.
7577

76-
|Integer value|Binary value|Description|
77-
|---:|---:|---|
78-
|12345|`0011 0000 0011 1001`|Starting value|
79-
|6172|`0001 1000 0001 1100`|Shift right by 1|
80-
|3086|`0000 1100 0000 1110`|Shift right by 2|
81-
|1543|`0000 0110 0000 0111`|Shift right by 3|
82-
|771|`0000 0011 0000 0011`|Shift right by 4|
83-
|385|`0000 0001 1000 0001`|Shift right by 5|
78+
| Integer value | Binary value | Description |
79+
| ---: | ---: | --- |
80+
| `12345` | `0011 0000 0011 1001` | Starting value |
81+
| `6172` | `0001 1000 0001 1100` | Shift right by 1 |
82+
| `3086` | `0000 1100 0000 1110` | Shift right by 2 |
83+
| `1543` | `0000 0110 0000 0111` | Shift right by 3 |
84+
| `771` | `0000 0011 0000 0011` | Shift right by 4 |
85+
| `385` | `0000 0001 1000 0001` | Shift right by 5 |
8486

85-
## See also
87+
## Related content
8688

8789
- [LEFT_SHIFT (Transact SQL)](left-shift-transact-sql.md)
8890
- [SET_BIT (Transact SQL)](set-bit-transact-sql.md)
8991
- [GET_BIT (Transact SQL)](get-bit-transact-sql.md)
9092
- [BIT_COUNT (Transact SQL)](bit-count-transact-sql.md)
9193
- [Bit manipulation functions](bit-manipulation-functions-overview.md)
92-

0 commit comments

Comments
 (0)