Skip to content

Commit dc8b98d

Browse files
committed
Merge branch 'main' into release-arc-data
2 parents 3b67f43 + 0c03d71 commit dc8b98d

5 files changed

Lines changed: 94 additions & 42 deletions

File tree

docs/connect/oledb/ole-db-driver/establishing-a-connection-to-a-data-source.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Establish connection to data source (OLE DB driver)
33
description: Learn how a consumer establishes a connection to a data source by using OLE DB Driver for SQL Server.
44
author: David-Engel
55
ms.author: v-davidengel
6-
ms.date: 04/20/2021
6+
ms.date: 04/02/2024
77
ms.service: sql
88
ms.subservice: connectivity
99
ms.topic: reference
@@ -20,7 +20,7 @@ helpviewer_keywords:
2020

2121
[!INCLUDE[Driver_OLEDB_Download](../../../includes/driver_oledb_download.md)]
2222

23-
To access the OLE DB Driver for SQL Server, the consumer must first create an instance of a data source object by calling the `CoCreateInstance` method. A unique class identifier (CLSID) identifies each OLE DB provider. For the OLE DB Driver for SQL Server, the class identifier is CLSID_MSOLEDBSQL. You can also use the symbol, MSOLEDBSQL_CLSID, that resolves to the OLE DB Driver for SQL Server used in the referenced `msoledbsql.h` file.
23+
To access the OLE DB Driver for SQL Server, the consumer must first create an instance of a data source object by calling the `CoCreateInstance` method. A unique class identifier (CLSID) identifies each OLE DB provider. For the OLE DB Driver for SQL Server, you can use the MSOLEDBSQL_CLSID symbol defined in the `msoledbsql.h` file.
2424

2525
The data source object exposes the `IDBProperties` interface, which the consumer uses to provide basic authentication information such as server name, database name, user ID, and password. The `IDBProperties::SetProperties` method is called to set these properties.
2626

@@ -29,14 +29,14 @@ If there are multiple instances of [!INCLUDE[ssNoVersion](../../../includes/ssno
2929
The data source object also exposes the `IDBInitialize` interface. After the properties are set, connection to the data source is established by calling the `IDBInitialize::Initialize` method. For example:
3030

3131
```cpp
32-
CoCreateInstance(CLSID_MSOLEDBSQL,
32+
CoCreateInstance(MSOLEDBSQL_CLSID,
3333
NULL,
3434
CLSCTX_INPROC_SERVER,
3535
IID_IDBInitialize,
3636
(void **) &pIDBInitialize)
3737
```
3838
39-
This call to `CoCreateInstance` creates a single object of the class associated with CLSID_MSOLEDBSQL (CSLID associated with the data and code that will be used to create the object). IID_IDBInitialize is a reference to the identifier of the interface (`IDBInitialize`) to be used to communicate with the object.
39+
This call to `CoCreateInstance` creates a single object of the class associated with MSOLEDBSQL_CLSID (CSLID associated with the data and code that will be used to create the object). IID_IDBInitialize is a reference to the identifier of the interface (`IDBInitialize`) to be used to communicate with the object.
4040
4141
The following sample shows how to initialize and establish a connection to the data source.
4242
@@ -81,7 +81,7 @@ HRESULT InitializeAndEstablishConnection(IDBInitialize *&pIDBInitialize) {
8181
HRESULT hr = S_OK;
8282
8383
// Obtain access to the OLE DB Driver for SQL Server.
84-
hr = CoCreateInstance(CLSID_MSOLEDBSQL,
84+
hr = CoCreateInstance(MSOLEDBSQL_CLSID,
8585
NULL,
8686
CLSCTX_INPROC_SERVER,
8787
IID_IDBInitialize,
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Azure extension for SQL Server files and registry reference
3+
description: Lists files and registry keys deployed and managed by the Azure extension for SQL Server.
4+
author: MikeRayMSFT
5+
ms.author: mikeray
6+
ms.reviewer: nikitatakru
7+
ms.date: 04/02/2024
8+
ms.topic: reference
9+
---
10+
11+
# Azure extension for SQL Server files & registry reference
12+
13+
[!INCLUDE [SQL Server](../../includes/applies-to-version/sqlserver.md)]
14+
15+
This article lists files and registry keys to monitor for product deployment integrity when you install extensions to enable servers or SQL Server instances for Azure Arc.
16+
17+
## Windows server files
18+
19+
| Path | Description |
20+
| :----- | :----- |
21+
| `%ProgramFiles%\AzureConnectedMachineAgent\*` | `azcmagent` CLI and instance metadata service executables |
22+
| `%ProgramFiles%\AzureConnectedMachineAgent\GCArcService\GC\*` | Extension service executables |
23+
| `%ProgramData%\AzureConnectedMachineAgent\*` | Configuration, log and identity token files for azcmagent CLI and instance metadata service |
24+
| `%ProgramData%\Application Data\Microsoft\Crypto\RSA\MachineKeys` | Windows certificate private keys |
25+
26+
## SQL Server files
27+
28+
| Path | Description & notes |
29+
| :----- | :----- |
30+
| `%ProgramFiles%\Sql Server Extension\*` | Extension program files |
31+
| `%SYSTEMDRIVE%\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer\<extension_version>\*` | Extension executables |
32+
| `%SYSTEMDRIVE%\Windows\system32\extensionUpload\*` | Usage files |
33+
| `C:\Windows\System32\Tasks\Microsoft\SqlServerExtension` | XML for scheduled task for providing privileges |
34+
| `C:\Windows\ServiceProfiles\SqlServerExtension\AppData\Local\Microsoft SQL Server Extension Agent\*` | When configured for [least privilege](configure-least-privilege.md) <br/><br/> Feature application |
35+
| `C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent\*`| When not configured for [least privilege](configure-least-privilege.md) <br/></br> Feature application |
36+
37+
## Registry keys
38+
39+
Base key: `HKEY_LOCAL_MACHINE`
40+
41+
| Key | Description & notes |
42+
| :----- | :----- |
43+
| `SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER` | Microsoft Entra ID registry key |
44+
| `SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\PurviewConfig` | Purview registry key |
45+
| `SOFTWARE\Microsoft\SystemCertificates` | Windows certificate registry key |
46+
47+
## Related content
48+
49+
- [Configure Windows service accounts and permissions](../../database-engine/configure-windows/configure-windows-service-accounts-and-permissions.md)

docs/sql-server/azure-arc/permissions-granted-agent-extension.md

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -27,37 +27,37 @@ This article lists the server and database roles and mappings that the installat
2727
| | VIEW ANY DEFINITION | Server Level | SQLArcExtensionServerRole |
2828
| | VIEW ANY DATABASE | Server Level | SQLArcExtensionServerRole |
2929
| | CONNECT ANY DATABASE | Server Level | SQLArcExtensionServerRole |
30-
| | SELECT dbo.sysjobactivity | msdb | SQLArceExtensionUserRole |
31-
| | SELECT dbo.sysjobs | msdb | SQLArceExtensionUserRole |
32-
| | SELECT dbo.syssessions | msdb | SQLArceExtensionUserRole |
33-
| | SELECT dbo.sysjobHistory | msdb | SQLArceExtensionUserRole |
34-
| | SELECT dbo.sysjobSteps | msdb | SQLArceExtensionUserRole |
35-
| | SELECT dbo.syscategories | msdb | SQLArceExtensionUserRole |
36-
| | SELECT dbo.sysoperators | msdb | SQLArceExtensionUserRole |
37-
| | SELECT dbo.suspectpages | msdb | SQLArceExtensionUserRole |
38-
| | SELECT dbo.backupset | msdb | SQLArceExtensionUserRole |
39-
| | SELECT dbo.backupmediaset | msdb | SQLArceExtensionUserRole |
40-
| | SELECT dbo.backupmediafamily | msdb | SQLArceExtensionUserRole |
41-
| | SELECT dbo.backupfile | msdb | SQLArceExtensionUserRole |
30+
| | SELECT dbo.sysjobactivity | msdb | SQLArcExtensionUserRole |
31+
| | SELECT dbo.sysjobs | msdb | SQLArcExtensionUserRole |
32+
| | SELECT dbo.syssessions | msdb | SQLArcExtensionUserRole |
33+
| | SELECT dbo.sysjobHistory | msdb | SQLArcExtensionUserRole |
34+
| | SELECT dbo.sysjobSteps | msdb | SQLArcExtensionUserRole |
35+
| | SELECT dbo.syscategories | msdb | SQLArcExtensionUserRole |
36+
| | SELECT dbo.sysoperators | msdb | SQLArcExtensionUserRole |
37+
| | SELECT dbo.suspectpages | msdb | SQLArcExtensionUserRole |
38+
| | SELECT dbo.backupset | msdb | SQLArcExtensionUserRole |
39+
| | SELECT dbo.backupmediaset | msdb | SQLArcExtensionUserRole |
40+
| | SELECT dbo.backupmediafamily | msdb | SQLArcExtensionUserRole |
41+
| | SELECT dbo.backupfile | msdb | SQLArcExtensionUserRole |
4242
| Backup | CREATE ANY DATABASE | Server Level | SQLArcExtensionServerRole |
43-
| | db_backupoperator role | All databases | SQLArceExtensionUserRole |
43+
| | db_backupoperator role | All databases | SQLArcExtensionUserRole |
4444
| | dbcreator | Server Level | SQLArcExtensionServerRole |
45-
| Azure Control Plane | CREATE TABLE | msdb | SQLArceExtensionUserRole |
46-
| | ALTER ANY SCHEMA | msdb | SQLArceExtensionUserRole |
47-
| | CREATE TYPE | msdb | SQLArceExtensionUserRole |
48-
| | EXECUTE | msdb | SQLArceExtensionUserRole |
49-
| | db_datawriter role | msdb | SQLArceExtensionUserRole |
50-
| | db_datareader role | msdb | SQLArceExtensionUserRole |
45+
| Azure Control Plane | CREATE TABLE | msdb | SQLArcExtensionUserRole |
46+
| | ALTER ANY SCHEMA | msdb | SQLArcExtensionUserRole |
47+
| | CREATE TYPE | msdb | SQLArcExtensionUserRole |
48+
| | EXECUTE | msdb | SQLArcExtensionUserRole |
49+
| | db_datawriter role | msdb | SQLArcExtensionUserRole |
50+
| | db_datareader role | msdb | SQLArcExtensionUserRole |
5151
| Availability Group Discovery | VIEW ANY DEFINITION | Server Level | SQLArcExtensionServerRole |
52-
| Purview | SELECT | All databases | SQLArceExtensionUserRole |
53-
| | EXECUTE | All databases | SQLArceExtensionUserRole |
54-
| Migration Assessment | EXECUTE dbo.agent_datetime | msdb | SQLArceExtensionUserRole |
55-
| | SELECT dbo.sysjobs | msdb | SQLArceExtensionUserRole |
56-
| | SELECT dbo.sysmail_account | msdb | SQLArceExtensionUserRole |
57-
| | SELECT dbo.sysmail_profile | msdb | SQLArceExtensionUserRole |
58-
| | SELECT dbo.sysmail_profileaccount | msdb | SQLArceExtensionUserRole |
59-
| | SELECT dbo.syssubsystems | msdb | SQLArceExtensionUserRole |
60-
| | SELECT sys.sql_expression_dependencies | All databases | SQLArceExtensionUserRole |
52+
| Purview | SELECT | All databases | SQLArcExtensionUserRole |
53+
| | EXECUTE | All databases | SQLArcExtensionUserRole |
54+
| Migration Assessment | EXECUTE dbo.agent_datetime | msdb | SQLArcExtensionUserRole |
55+
| | SELECT dbo.sysjobs | msdb | SQLArcExtensionUserRole |
56+
| | SELECT dbo.sysmail_account | msdb | SQLArcExtensionUserRole |
57+
| | SELECT dbo.sysmail_profile | msdb | SQLArcExtensionUserRole |
58+
| | SELECT dbo.sysmail_profileaccount | msdb | SQLArcExtensionUserRole |
59+
| | SELECT dbo.syssubsystems | msdb | SQLArcExtensionUserRole |
60+
| | SELECT sys.sql_expression_dependencies | All databases | SQLArcExtensionUserRole |
6161

6262
## Run with least privilege
6363

docs/sql-server/azure-arc/troubleshoot-telemetry-endpoint.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,11 @@ The following table shows some of the common DPS upload status values and what y
128128
| --- | --- | --- |
129129
| `0` | | Likely cause: a firewall is blocking the transmission of the data to the DPS. Open the firewall to the DNS endpoint for the DPS (TCP, port: 443).|
130130
| `OK` | 200 | The connection is working as expected. |
131+
|`Bad request`|400|Possible cause: The resource name (SQL Server instance or database name) doesn't conform to Azure resource naming conventions. For example, if the database name is a [reserved word](/azure/azure-resource-manager/troubleshooting/error-reserved-resource-name).|
131132
| `Unauthorized` | 401 | Likely cause: the extension is configured to send data through an HTTP proxy that requires authentication. Using an HTTP proxy that requires authentication is not currently supported. Use an unauthenticated HTTP proxy or no proxy.|
132133
| `Forbidden` | 403 | If the Azure Connected Machine agent is otherwise working as expected and this error doesn't resolve itself after a reboot, create a support case with Microsoft Support through the Azure portal.|
133134
| `NotFound` | 404 | The endpoint that the extension is trying to connect to doesn't exist. You can check which endpoint it is trying to connect to by searching in the logs for `dataprocessingservice` (or before March, 2024 `san-af`). This condition can happen if the Azure Connected Machine agent was deployed and connected to an Azure region in which the `Microsoft.AzureArcData` resource provider is not yet available. [Redeploy the Azure Connected Machine agent](/azure/azure-arc/servers/manage-agent?tabs=windows#uninstall-the-agent) in a region that the `Microsoft.AzureArcData` resource provider for SQL Server enabled by Azure Arc is available. [Region availability](https://azure.microsoft.com/explore/global-infrastructure/products-by-region/?products=azure-arc) |
134-
| `Conflict` | 409 | Likely cause: temporary error happening inside of the DPS. If this does not resolve itself, create a support case with Microsoft Support through the Azure portal.
135+
| `Conflict` | 409 | Likely cause: temporary error happening inside of the DPS. If this does not resolve itself, create a support case with Microsoft Support through the Azure portal.|
135136
| `InternalServerError` | 500 | This is an error that is happening inside of the DPS. Create a support case with Microsoft Support through the Azure portal. |
136137

137138
## Related content

docs/toc.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10391,20 +10391,22 @@ items:
1039110391
href: sql-server/azure-arc/manage-availability-group.md
1039210392
- name: Secure
1039310393
items:
10394-
- name: Agent permissions
10395-
items:
10396-
- name: Agent roles
10397-
href: sql-server/azure-arc/permissions-granted-agent-extension.md
10398-
- name: Configure least privilege
10399-
href: sql-server/azure-arc/configure-least-privilege.md
10400-
- name: Required permissions
10401-
href: sql-server/azure-arc/configure-windows-accounts-agent.md
10394+
- name: Configure least privilege
10395+
href: sql-server/azure-arc/configure-least-privilege.md
1040210396
- name: Configure advanced data Security
1040310397
href: sql-server/azure-arc/configure-advanced-data-security.md
1040410398
- name: Certificate rotation
1040510399
href: sql-server/azure-arc/rotate-certificates.md
1040610400
- name: Extended Security Updates
1040710401
href: sql-server/azure-arc/extended-security-updates.md
10402+
- name: Roles, permissions, & files
10403+
items:
10404+
- name: Agent roles
10405+
href: sql-server/azure-arc/permissions-granted-agent-extension.md
10406+
- name: Required permissions
10407+
href: sql-server/azure-arc/configure-windows-accounts-agent.md
10408+
- name: Files & registry reference
10409+
href: sql-server/azure-arc/agent-extension-files.md
1040810410
- name: Migrate
1040910411
items:
1041010412
- name: Discover and assess

0 commit comments

Comments
 (0)