SQL 外部表连接字符串
若要访问 SQL 外部表,请在创建过程中提供连接字符串。 该连接字符串指定了要访问的资源及其身份验证信息。 支持的 SQL 外部表类型包括 Microsoft SQL Server、MySQL、PostgreSQL 和 Cosmos DB。 若要了解如何管理 SQL 外部表,请参阅创建和更改 SQL 外部表。
无论使用的身份验证方法如何,主体都必须对 SQL 数据库具有必要的权限才能执行所需的操作。 有关详细信息,请参阅 SQL 数据库所需的权限。
支持的身份验证方法(按数据库类型)
下表显示了充当外部表源的每种数据库类型支持的身份验证方法。
身份验证方法 | SQL Server | PostgreSQL | MySQL | Cosmos DB |
---|---|---|---|---|
Microsoft Entra 集成(模拟) | ✔ | ❌ | ❌ | ✔ |
托管的标识 | ✔ | ❌ | ❌ | ✔ |
用户名和密码 | ✔ | ✔ | ✔ | ✔ |
Microsoft Entra 集成(模拟)
使用此身份验证方法,用户或应用程序通过 Microsoft Entra ID 向 Azure 数据资源管理器进行身份验证,然后使用同一令牌访问 SQL Server 网络终结点。 此方法仅支持 SQL Server。
要使用 Microsoft Entra 集成身份验证(模拟),请将 ;Authentication="Active Directory Integrated"
添加到 SQL 连接字符串。
示例 |
---|
"Server=tcp:myserver.database.chinacloudapi.cn,1433;Authentication=Active Directory Integrated;Initial Catalog=mydatabase;" |
托管标识
Azure 数据资源管理器代表托管标识发出请求,并使用其标识访问资源。 此方法仅支持 SQL Server。
对于系统分配的托管标识,请将 ;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