我想实现以下目标:
避免在 Azure 上对我的生产配置进行SQL 身份验证,并使用Active Directory 集成身份验证
当我转到 Azure 的连接字符串部分并复制以下连接字符串时:
Server=[my server name];Initial Catalog=[my db name];Persist Security Info=False;User ID=[my user name];MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication="Active Directory Integrated";
并尝试使用它我得到以下异常:
异常消息:无法将“Authentication=Active Directory Integrated”与“用户 ID”、“UID”、“密码”或“PWD”连接字符串关键字一起使用。异常堆栈跟踪:在 System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) 在 System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) 在 System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) 在 System.Data.SqlClient.SqlConnection.ConnectionString_Set( DbConnectionPoolKey 键)
由于我的数据库管理/基础设施经验非常有限,我不知道为什么“用户 ID”在我在 Azure 上获得的连接字符串中明确列出时会破坏一切。
需要注意的几点:
- SQL 身份验证有效
- 我有 Active Directory 管理员集