使用 SQL Server 仿真在 Azure 数据资源管理器中查询数据
可使用 Microsoft Entra 身份验证连接到 Azure SQL 数据库的任何库和应用程序也可以连接到 Azure 数据资源管理器。 此功能是通过 Azure 数据资源管理器的 TDS 兼容终结点实现的,该终结点可以仿真 Microsoft SQL Server。 终结点支持 TDS 版本 7.x 和 8.0。
使用 SQL Server 仿真,可以通过各种方法连接到 Azure 数据资源管理器,包括 ODBC、JDBC,以及 LINQPad 和 Azure Data Studio 等常用应用。
身份验证
Azure 数据资源管理器需要通过 Microsoft Entra ID 进行身份验证。
若要对应用程序主体进行身份验证,需要在优化选项中包含租户 ID。 有关示例,请参阅使用 ODBC 进行连接。
可以在群集级别配置 Microsoft Entra 租户 ID,并且无需从客户端指定此 ID。 若要在群集级别更改租户 ID,请在 Azure 门户中创建一个关于使用所需租户 ID 配置 SecuritySettings.TdsEndpointDefaultAuthority 的支持请求。
优化选项
若要根据特定的要求自定义 Azure 数据资源管理器,可能需要提供标准 SQL Server 连接配置不支持的某些信息。
为了让用户能够使用此类参数,Azure 数据资源管理器允许将这些值输入到 TDS Language
和 Application
属性中。 建议尽可能使用 Language
属性。
支持的优化选项
下表描述了支持的优化选项。 若要了解如何使用这些选项,请参阅语法说明。
优化选项 | 说明 |
---|---|
MaxStringSize |
Azure 数据资源管理器的默认行为是将字符串值视为 NVARCHAR(MAX) 。 对于不太适合使用 NVARCHAR(MAX) 类型的应用程序,可以将数据强制转换为 NVARCHAR( n) 。 |
AadAuthority |
用于指定身份验证时所需的 Microsoft Entra 租户 ID。 |
语法
[ Language
| Application
] =
ExpectedArguments@
TuningOptions
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
ExpectedArguments | string |
✔️ | TDS 中 Language 或 Application 字段的预期值。 |
TuningOptions | string |
零个或多个以逗号分隔的受支持优化选项。 每个优化选项的格式必须为 TuningOptionName: TuningOptionValue。 |
示例
以下示例使用 Language
属性和 AadAuthority
优化选项在 ODBC 连接字符串中指定 Microsoft Entra 租户 ID。
Driver={ODBC Driver 17 for SQL Server};Server=myadxcluster.chinaeast2.kusto.chinacloudapi.cn;Database=mydatabase;Authentication=ActiveDirectoryServicePrincipal;Language=any@AadAuthority:57B489CD-590C-417F-A8B9-E75D2F9A04C8,MaxStringSize:5000;UID=A9BCAB99-8AAD-4411-A232-37E2116B935E;PWD=mysecret