Azure SQL 外部表连接字符串
适用于:✅Azure 数据资源管理器
若要访问 SQL 外部表,请在创建过程中提供连接字符串。 该连接字符串指定了要访问的资源及其身份验证信息。
支持的 SQL 外部表类型:
- Azure SQL 数据库
- Azure Database for MySQL
- Azure Database for PostgreSQL
- Azure Cosmos DB。
若要了解如何管理 SQL 外部表,请参阅创建和更改 SQL 外部表。
无论使用的身份验证方法如何,主体都必须对 SQL 数据库具有必要的权限才能执行所需的操作。 有关详细信息,请参阅 SQL 数据库所需的权限。
支持的身份验证方法(按数据库类型)
下表显示了充当外部表源的每种数据库类型支持的身份验证方法。
注意
如果可能,首选的身份验证方法是托管标识。
身份验证方法 | SQL Server | PostgreSQL | MySQL | Cosmos DB |
---|---|---|---|---|
Microsoft Entra 集成(模拟) | ✔️ | ❌ | ❌ | ✔️ |
托管的标识 | ✔️ | ❌ | ❌ | ✔️ |
用户名和密码 | ✔️ | ✔️ | ✔️ | ✔️ |
Microsoft Entra 集成(模拟)
使用此身份验证方法,用户或应用程序通过 Microsoft Entra ID 进行身份验证,然后使用相同的令牌访问 SQL Server 网络终结点。 SQL Server 和 Cosmos DB 支持此方法。
要使用 Microsoft Entra 集成身份验证(模拟),请将 ;Authentication="Active Directory Integrated"
添加到 SQL 连接字符串。
示例 |
---|
"Server=tcp:myserver.database.chinacloudapi.cn,1433;Authentication=Active Directory Integrated;Initial Catalog=mydatabase;" |
托管的标识
查询环境代表托管标识发出请求,并使用其标识访问资源。 SQL Server 和 Cosmos DB 支持此方法。
对于系统分配的托管标识,请将 ;Authentication="Active Directory Managed Identity"
追加到连接字符串。 对于用户分配的托管标识,请将 ;Authentication="Active Directory Managed Identity";User Id={object_id}
追加到连接字符串。
托管标识类型 | 示例 |
---|---|
系统分配 | "Server=tcp:myserver.database.chinacloudapi.cn,1433;Authentication="Active Directory Managed Identity";Initial Catalog=mydatabase;" |
用户分配 | "Server=tcp:myserver.database.chinacloudapi.cn,1433;Authentication="Active Directory Managed Identity";User Id=9ca5bb85-1c1f-44c3-b33a-0dfcc7ec5f6b;Initial Catalog=mydatabase;" |
用户名和密码
若要使用用户名和密码进行身份验证,请在连接字符串中设置关键字 User ID
和 Password
。
示例 |
---|
"Server=tcp:myserver.database.chinacloudapi.cn,1433;User Id={myUserId};Password={myPlaceholderPassword};Initial Catalog=mydatabase;" |
SQL 数据库所需的权限
对于所有身份验证方法,主体(或托管标识)必须对 SQL 数据库具有必要的权限才能执行请求的操作:
- 读取权限:表 SELECT
- 写入权限:
- 现有表:表 UPDATE 和 INSERT
- 新表:CREATE、UPDATE 和 INSERT