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: docs/sql-server/azure-arc/prerequisites.md
+70-43Lines changed: 70 additions & 43 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,11 @@ description: Describes prerequisites required for SQL Server enabled by Azure Ar
4
4
author: anosov1960
5
5
ms.author: sashan
6
6
ms.reviewer: mikeray, randolphwest
7
-
ms.date: 10/21/2025
7
+
ms.date: 04/16/2026
8
8
ms.topic: checklist
9
-
ms.custom: references_regions
9
+
ms.custom:
10
+
- references_regions
11
+
ai-usage: ai-assisted
10
12
---
11
13
12
14
# Prerequisites - SQL Server enabled by Azure Arc
@@ -15,14 +17,14 @@ ms.custom: references_regions
15
17
16
18
An Azure Arc-enabled instance of [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] is an instance on-premises or in a cloud provider that is connected to Azure Arc. This article explains those prerequisites.
17
19
18
-
If your SQL Server virtual machines are running in VMware vSphere–based environments (including environments licensed through VMware vSphere Foundation or VMware Cloud Foundation), review [Support on VMware](#support-on-vmware).
20
+
If your SQL Server virtual machines run in VMware vSphere-based environments (including environments licensed through VMware vSphere Foundation or VMware Cloud Foundation), review [Support on VMware](#support-on-vmware).
19
21
20
22
## Before you deploy
21
23
22
24
Before you can Arc-enable an instance of [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)], you need to:
23
25
24
-
-Have an Azure account with an active subscription. If needed, [create a free Azure Account](https://azure.microsoft.com/pricing/purchase-options/azure-account?cid=msft_learn).
25
-
- Verify [Arc connected machine agent prerequisites](/azure/azure-arc/servers/prerequisites). The Arc agent must be running in the typical 'full' mode.
26
+
-Create an Azure account with an active subscription. If needed, [create a free Azure Account](https://azure.microsoft.com/pricing/purchase-options/azure-account?cid=msft_learn).
27
+
- Verify [Arc connected machine agent prerequisites](/azure/azure-arc/servers/prerequisites). The Arc agent must run in the typical 'full' mode.
@@ -64,61 +66,84 @@ For more information, see [Assign Azure roles using the Azure portal](/azure/rol
64
66
65
67
### Verify state of user databases
66
68
67
-
When a SQL Server instance is enabled by Azure Arc, the connection sets some database permissions so that you can manage databases from Azure. For details about the permissions set at a database level, review[SQL permissions](configure-windows-accounts-agent.md#sql-permissions).
69
+
When a SQL Server instance is enabled by Azure Arc, the connection sets some database permissions so that you can manage databases from Azure. For details about the permissions set at a database level, see[SQL permissions](configure-windows-accounts-agent.md#sql-permissions).
68
70
69
-
Only databases that are online and updateable are included.
71
+
Only databases that are online and updatable are included.
70
72
71
73
Verify the state of any databases you plan to manage from Azure.
72
74
73
-
This query lists all databases, their status, and if they're updateable:
75
+
This query lists all databases, their status, and if they're updatable:
74
76
75
77
```sql
76
-
SELECT
77
-
name AS DatabaseName,
78
-
CASE
79
-
WHEN state_desc ='ONLINE' THEN 'Online'
80
-
WHEN state_desc ='OFFLINE' THEN 'Offline'
81
-
ELSE 'Unknown'
82
-
END AS Status,
83
-
CASE
84
-
WHEN is_read_only =0 THEN 'READ_WRITE'
85
-
ELSE 'READ_ONLY'
86
-
END AS UpdateableStatus
78
+
SELECT name AS DatabaseName,
79
+
CASE WHEN state_desc ='ONLINE' THEN 'Online'
80
+
WHEN state_desc ='OFFLINE' THEN 'Offline'
81
+
ELSE 'Unknown'
82
+
END AS Status,
83
+
CASE WHEN is_read_only =0 THEN 'READ_WRITE'
84
+
ELSE 'READ_ONLY'
85
+
END AS UpdateableStatus
87
86
FROMsys.databases;
88
87
```
89
88
90
89
Run that query on any instance that you enable.
91
90
92
91
### Service account permissions
93
92
94
-
The SQL Server service account must be a member of the `sysadmin` fixed server role on each SQL Server instance. By default, the SQL Server service account is a member of the `sysadmin` fixed server role.
93
+
The SQL Server service account must be a member of the **sysadmin** fixed server role on each SQL Server instance. By default, the SQL Server service account is a member of the **sysadmin** fixed server role.
94
+
95
+
For more information about this requirement, see [SQL Server service account](configure-least-privilege.md#sql-server-service-account).
96
+
97
+
### NT AUTHORITY\SYSTEM login requirements
98
+
99
+
The Azure extension for SQL Server Deployer runs under the `LocalSystem` (`NT AUTHORITY\SYSTEM`) account to perform permission configuration. As part of this process, the deployer connects to each SQL Server instance using Windows integrated authentication.
100
+
101
+
By default, `NT AUTHORITY\SYSTEM` has a SQL Server login with `CONNECT SQL` permission. In environments where SQL Server security hardening removes or restricts the `NT AUTHORITY\SYSTEM` login (such as by disabling the login or denying `CONNECT SQL`), the Azure extension for SQL Server fails to provision successfully.
102
+
103
+
Before running this query in a production environment, review and test it in a non-production or test environment to validate the results. To verify that `NT AUTHORITY\SYSTEM` can connect to SQL Server, run the following query on each instance (review and test in a non-production or test environment before running in production):
104
+
105
+
```sql
106
+
SELECTsp.nameAS login_name,
107
+
CASE WHEN sp.is_disabled=1 THEN 'DISABLED' ELSE 'ENABLED' END AS login_status,
108
+
ISNULL(p.state_desc, 'NONE (implicit)') AS connect_sql_permission
109
+
FROMsys.server_principalsAS sp
110
+
LEFT OUTER JOINsys.server_permissionsAS p
111
+
ONp.grantee_principal_id=sp.principal_id
112
+
ANDp.permission_name= N'CONNECT SQL'
113
+
ANDp.class_desc= N'SERVER'
114
+
WHEREsp.name= N'NT AUTHORITY\SYSTEM';
115
+
```
116
+
117
+
Successful provisioning requires that:
118
+
119
+
- The login exists (a row is returned)
120
+
- The login status is `ENABLED`
121
+
-`CONNECT SQL` permission is granted
95
122
96
-
For more information about this requirement, review [SQL Server service account](configure-least-privilege.md#sql-server-service-account).
123
+
If your organization determines that re-adding the `NT AUTHORITY\SYSTEM` account or granting extra permissions is acceptable for your environment, restore connectivity by creating the authentication and granting `CONNECT SQL` permission:
124
+
125
+
```sql
126
+
CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS;
127
+
GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM];
128
+
```
129
+
130
+
After making changes, verify that the extension provisions successfully.
97
131
98
132
### Set proxy exclusions
99
133
100
-
> [!NOTE]
101
-
> The exclusion in this section is required for the March 2024 release and before.
102
-
>
103
-
> Beginning with the release in April 2024, this exclusion isn't required.
134
+
> [!NOTE]
135
+
> Starting with the April 2024 release, this exclusion isn't required. Beginning with extension version 1.1.2986.256, you can set the `NO_PROXY` environment variable to bypass the proxy for specific URLs while routing all other requests through the proxy server. For example, use `NO_PROXY` to route requests to Azure Key Vault through private endpoints.
104
136
105
-
If a proxy server is used, set the `NO_PROXY` environment variable to exclude proxy traffic for:
137
+
If you use a proxy server, set the `NO_PROXY` environment variable to exclude proxy traffic for:
106
138
107
139
-`localhost`
108
140
-`127.0.0.1`
109
141
110
-
> [!NOTE]
111
-
> Beginning with extension version `1.1.2986.256`, you can set `NO_PROXY` environment variable to bypass proxy for URLs.
112
-
>
113
-
> You can configure the extension to bypass the proxy endpoint for requests to specific URLs while using a proxy server for all other requests.
114
-
>
115
-
> For example, you can configure the extension by setting `NO_PROXY` environment variable to use private endpoints for requests to Azure Key Vault, while all other requests use the proxy server.
> You can't use Azure Private Link connections to the Azure Arc data processing service. See [Unsupported configurations](#unsupported-configurations).
123
148
124
149
### Network requirements for enabling Microsoft Entra authentication
@@ -166,20 +191,22 @@ az provider register --namespace 'Microsoft.AzureArcData'
166
191
167
192
## Azure subscription and service limits
168
193
169
-
Before configuring your [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] instances and machines with Azure Arc, review the Azure Resource Manager [subscription limits](/azure/azure-resource-manager/management/azure-subscription-service-limits#subscription-limits) and [resource group limits](/azure/azure-resource-manager/management/azure-subscription-service-limits#resource-group-limits) to plan for the number of machines to be connected.
194
+
Before configuring your [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] instances and machines with Azure Arc, review the Azure Resource Manager [subscription limits](/azure/azure-resource-manager/management/azure-subscription-service-limits#subscription-limits) and [resource group limits](/azure/azure-resource-manager/management/azure-subscription-service-limits#resource-group-limits) to plan for the number of machines to connect.
The [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)] Setup Installation Wizard doesn't support installation of the Azure extension for SQL Server. There are two ways to install this component. Do one of the following:
202
+
The [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)] Setup Installation Wizard doesn't support installation of the Azure extension for SQL Server.
203
+
204
+
You can install this component in two ways:
178
205
179
206
-[SQL Server enabled by Azure Arc deployment options](deployment-options.md)
180
207
-[Install Azure extension for SQL Server from the command line](../../database-engine/install-windows/install-sql-server-from-the-command-prompt.md#install-and-connect-to-azure)
181
208
182
-
For VMware vSphere–based environments, review [Support on VMware](#support-on-vmware).
209
+
For VMware vSphere-based environments, review [Support on VMware](#support-on-vmware).
0 commit comments