Skip to content

Commit f09a885

Browse files
authored
Merge pull request #276444 from v-luckywang/0528-SQL_family_v2
[New feature] Add SQL family v2 content
2 parents 76b8fb0 + b61f7e0 commit f09a885

9 files changed

+460
-110
lines changed

articles/data-factory/connector-amazon-rds-for-sql-server.md

Lines changed: 120 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.service: data-factory
88
ms.subservice: data-movement
99
ms.topic: conceptual
1010
ms.custom: synapse
11-
ms.date: 01/05/2024
11+
ms.date: 05/28/2024
1212
---
1313

1414
# Copy data from Amazon RDS for SQL Server by using Azure Data Factory or Azure Synapse Analytics
@@ -74,32 +74,62 @@ The following sections provide details about properties that are used to define
7474

7575
## Linked service properties
7676

77-
The following properties are supported for the Amazon RDS for SQL Server linked service:
77+
The Amazon RDS for SQL Server connector **Recommended** version supports TLS 1.3. Refer to this [section](#upgrade-the-amazon-rds-for-sql-server-version) to upgrade your Amazon RDS for SQL Server connector version from **Legacy** one. For the property details, see the corresponding sections.
78+
79+
- [Recommended version](#recommended-version)
80+
- [Legacy version](#legacy-version)
81+
82+
> [!NOTE]
83+
> Amazon RDS for SQL Server [**Always Encrypted**](/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-ver15&preserve-view=true) is not supported in data flow.
84+
85+
>[!TIP]
86+
>If you hit an error with the error code "UserErrorFailedToConnectToSqlServer" and a message like "The session limit for the database is XXX and has been reached," add `Pooling=false` to your connection string and try again.
87+
88+
### Recommended version
89+
90+
These generic properties are supported for an Amazon RDS for SQL Server linked service when you apply **Recommended** version:
7891

7992
| Property | Description | Required |
8093
|:--- |:--- |:--- |
8194
| type | The type property must be set to **AmazonRdsForSqlServer**. | Yes |
82-
| connectionString |Specify **connectionString** information that's needed to connect to the Amazon RDS for SQL Server database by using either SQL authentication or Windows authentication. Refer to the following samples.<br/>You also can put a password in Azure Key Vault. If it's SQL authentication, pull the `password` configuration out of the connection string. For more information, see the JSON example following the table and [Store credentials in Azure Key Vault](store-credentials-in-key-vault.md). |Yes |
83-
| userName |Specify a user name if you use Windows authentication. An example is **domainname\\username**. |No |
84-
| password |Specify a password for the user account you specified for the user name. Mark this field as **SecureString** to store it securely. Or, you can [reference a secret stored in Azure Key Vault](store-credentials-in-key-vault.md). |No |
95+
| server | The name or network address of the SQL server instance you want to connect to. | Yes |
96+
| database | The name of the database. | Yes |
97+
| authenticationType |The type used for authentication. Allowed values are [**SQL**](#sql-authentication) (default), [**Windows**](#windows-authentication). Go to the relevant authentication section on specific properties and prerequisites.| Yes |
8598
| alwaysEncryptedSettings | Specify **alwaysencryptedsettings** information that's needed to enable Always Encrypted to protect sensitive data stored in Amazon RDS for SQL Server by using either managed identity or service principal. For more information, see the JSON example following the table and [Using Always Encrypted](#using-always-encrypted) section. If not specified, the default always encrypted setting is disabled. |No |
99+
| encrypt |Indicate whether TLS encryption is required for all data sent between the client and server. Options: mandatory (for true, default)/optional (for false)/strict. | No |
100+
| trustServerCertificate | Indicate whether the channel will be encrypted while bypassing the certificate chain to validate trust. | No |
101+
| hostNameInCertificate | The host name to use when validating the server certificate for the connection. When not specified, the server name is used for certificate validation. | No |
86102
| connectVia | This [integration runtime](concepts-integration-runtime.md) is used to connect to the data store. Learn more from [Prerequisites](#prerequisites) section. If not specified, the default Azure integration runtime is used. |No |
87103

88-
> [!NOTE]
89-
> Amazon RDS for SQL Server [**Always Encrypted**](/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-ver15&preserve-view=true) is not supported in data flow.
104+
[!INCLUDE [SQL connector additional connection properties](includes/sql-connector-addtional-connection-properties.md)]
90105

91-
>[!TIP]
92-
>If you hit an error with the error code "UserErrorFailedToConnectToSqlServer" and a message like "The session limit for the database is XXX and has been reached," add `Pooling=false` to your connection string and try again.
106+
#### SQL authentication
93107

94-
**Example 1: Use SQL authentication**
108+
To use SQL authentication, in addition to the generic properties that are described in the preceding section, specify the following properties:
109+
110+
| Property | Description | Required |
111+
|:--- |:--- |:--- |
112+
| userName | The user name used to connect to the server. | Yes |
113+
| password | The password for the user name. Mark this field as **SecureString** to store it securely. Or, you can [reference a secret stored in Azure Key Vault](store-credentials-in-key-vault.md). | Yes |
114+
115+
**Example: Use SQL authentication**
95116

96117
```json
97118
{
98119
"name": "AmazonSqlLinkedService",
99120
"properties": {
100121
"type": "AmazonRdsForSqlServer",
101122
"typeProperties": {
102-
"connectionString": "Data Source=<servername>\\<instance name if using named instance>;Initial Catalog=<databasename>;Integrated Security=False;User ID=<username>;Password=<password>;"
123+
"server": "<name or network address of the SQL server instance>",
124+
"database": "<database name>",
125+
"encrypt": "<encrypt>",
126+
"trustServerCertificate": false,
127+
"authenticationType": "SQL",
128+
"userName": "<user name>",
129+
"password": {
130+
"type": "SecureString",
131+
"value": "<password>"
132+
}
103133
},
104134
"connectVia": {
105135
"referenceName": "<name of Integration Runtime>",
@@ -109,15 +139,20 @@ The following properties are supported for the Amazon RDS for SQL Server linked
109139
}
110140
```
111141

112-
**Example 2: Use SQL authentication with a password in Azure Key Vault**
142+
**Example: Use SQL authentication with a password in Azure Key Vault**
113143

114144
```json
115145
{
116146
"name": "AmazonSqlLinkedService",
117147
"properties": {
118148
"type": "AmazonRdsForSqlServer",
119149
"typeProperties": {
120-
"connectionString": "Data Source=<servername>\\<instance name if using named instance>;Initial Catalog=<databasename>;Integrated Security=False;User ID=<username>;",
150+
"server": "<name or network address of the SQL server instance>",
151+
"database": "<database name>",
152+
"encrypt": "<encrypt>",
153+
"trustServerCertificate": false,
154+
"authenticationType": "SQL",
155+
"userName": "<user name>",
121156
"password": { 
122157
"type": "AzureKeyVaultSecret", 
123158
"store": { 
@@ -134,20 +169,31 @@ The following properties are supported for the Amazon RDS for SQL Server linked
134169
}
135170
}
136171
```
137-
138-
**Example 3: Use Windows authentication**
172+
**Example: Use Always Encrypted**
139173

140174
```json
141175
{
142176
"name": "AmazonSqlLinkedService",
143177
"properties": {
144178
"type": "AmazonRdsForSqlServer",
145179
"typeProperties": {
146-
"connectionString": "Data Source=<servername>\\<instance name if using named instance>;Initial Catalog=<databasename>;Integrated Security=True;",
147-
"userName": "<domain\\username>",
180+
"server": "<name or network address of the SQL server instance>",
181+
"database": "<database name>",
182+
"encrypt": "<encrypt>",
183+
"trustServerCertificate": false,
184+
"authenticationType": "SQL",
185+
"userName": "<user name>",
148186
"password": {
149187
"type": "SecureString",
150188
"value": "<password>"
189+
},
190+
"alwaysEncryptedSettings": {
191+
"alwaysEncryptedAkvAuthType": "ServicePrincipal",
192+
"servicePrincipalId": "<service principal id>",
193+
"servicePrincipalKey": {
194+
"type": "SecureString",
195+
"value": "<service principal key>"
196+
}
151197
}
152198
},
153199
"connectVia": {
@@ -158,22 +204,32 @@ The following properties are supported for the Amazon RDS for SQL Server linked
158204
}
159205
```
160206

161-
**Example 4: Use Always Encrypted**
207+
#### Windows authentication
208+
209+
To use Windows authentication, in addition to the generic properties that are described in the preceding section, specify the following properties:
210+
211+
| Property | Description | Required |
212+
|:--- |:--- |:--- |
213+
| userName | Specify a user name. An example is **domainname\\username**. |Yes |
214+
| password | Specify a password for the user account you specified for the user name. Mark this field as **SecureString** to store it securely. Or, you can [reference a secret stored in Azure Key Vault](store-credentials-in-key-vault.md). |Yes |
215+
216+
**Example: Use Windows authentication**
162217

163218
```json
164219
{
165220
"name": "AmazonSqlLinkedService",
166221
"properties": {
167222
"type": "AmazonRdsForSqlServer",
168223
"typeProperties": {
169-
"connectionString": "Data Source=<servername>\\<instance name if using named instance>;Initial Catalog=<databasename>;Integrated Security=False;User ID=<username>;Password=<password>;"
170-
},
171-
"alwaysEncryptedSettings": {
172-
"alwaysEncryptedAkvAuthType": "ServicePrincipal",
173-
"servicePrincipalId": "<service principal id>",
174-
"servicePrincipalKey": {
224+
"server": "<name or network address of the SQL server instance>",
225+
"database": "<database name>",
226+
"encrypt": "<encrypt>",
227+
"trustServerCertificate": false,
228+
"authenticationType": "Windows",
229+
"userName": "<domain\\username>",
230+
"password": {
175231
"type": "SecureString",
176-
"value": "<service principal key>"
232+
"value": "<password>"
177233
}
178234
},
179235
"connectVia": {
@@ -184,6 +240,41 @@ The following properties are supported for the Amazon RDS for SQL Server linked
184240
}
185241
```
186242

243+
### Legacy version
244+
245+
These generic properties are supported for an Amazon RDS for SQL Server linked service when you apply **Legacy** version:
246+
247+
| Property | Description | Required |
248+
|:--- |:--- |:--- |
249+
| type | The type property must be set to **AmazonRdsForSqlServer**. | Yes |
250+
| alwaysEncryptedSettings | Specify **alwaysencryptedsettings** information that's needed to enable Always Encrypted to protect sensitive data stored in Amazon RDS for SQL Server by using either managed identity or service principal. For more information, see [Using Always Encrypted](#using-always-encrypted) section. If not specified, the default always encrypted setting is disabled. |No |
251+
| connectVia | This [integration runtime](concepts-integration-runtime.md) is used to connect to the data store. Learn more from [Prerequisites](#prerequisites) section. If not specified, the default Azure integration runtime is used. |No |
252+
253+
This Amazon RDS for SQL Server connector supports the following authentication types. See the corresponding sections for details.
254+
255+
- [SQL authentication for the legacy version](#sql-authentication-for-the-legacy-version)
256+
- [Windows authentication for the legacy version](#windows-authentication-for-the-legacy-version)
257+
258+
#### SQL authentication for the legacy version
259+
260+
To use SQL authentication, in addition to the generic properties that are described in the preceding section, specify the following properties:
261+
262+
| Property | Description | Required |
263+
|:--- |:--- |:--- |
264+
| connectionString | Specify **connectionString** information that's needed to connect to the Amazon RDS for SQL Server database. Specify a login name as your user name, and ensure the database that you want to connect is mapped to this login. | Yes |
265+
| password | If you want to put a password in Azure Key Vault, pull the `password` configuration out of the connection string. For more information, see [Store credentials in Azure Key Vault](store-credentials-in-key-vault.md). |No |
266+
267+
268+
#### Windows authentication for the legacy version
269+
270+
To use Windows authentication, in addition to the generic properties that are described in the preceding section, specify the following properties:
271+
272+
| Property | Description | Required |
273+
|:--- |:--- |:--- |
274+
| connectionString | Specify **connectionString** information that's needed to connect to the the Amazon RDS for SQL Server database. | Yes |
275+
| userName | Specify a user name. An example is **domainname\\username**. |Yes |
276+
| password | Specify a password for the user account you specified for the user name. Mark this field as **SecureString** to store it securely. Or, you can [reference a secret stored in Azure Key Vault](store-credentials-in-key-vault.md). |Yes |
277+
187278
## Dataset properties
188279

189280
For a full list of sections and properties available for defining datasets, see the [datasets](concepts-datasets-linked-services.md) article. This section provides a list of properties supported by the Amazon RDS for SQL Server dataset.
@@ -439,5 +530,9 @@ When you copy data from/to Amazon RDS for SQL Server with [Always Encrypted](/sq
439530
5. Create a **rule for the Windows Firewall** on the machine to allow incoming traffic through this port.
440531
6. **Verify connection**: To connect to Amazon RDS for SQL Server by using a fully qualified name, use Amazon RDS for SQL Server Management Studio from a different machine. An example is `"<machine>.<domain>.corp.<company>.com,1433"`.
441532

533+
## Upgrade the Amazon RDS for SQL Server version
534+
535+
To upgrade the Amazon RDS for SQL Server version, in **Edit linked service** page, select **Recommended** under **Version** and configure the linked service by referring to [Linked service properties for the recommended version](#recommended-version).
536+
442537
## Related content
443538
For a list of data stores supported as sources and sinks by the copy activity, see [Supported data stores](copy-activity-overview.md#supported-data-stores-and-formats).

0 commit comments

Comments
 (0)