5

我想实现以下目标:

避免在 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 管理员集
4

2 回答 2

4

您的连接字符串在 C# 上应如下所示:

string ConnectionString =
@"Data Source=n9lxnyuzhv.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

请阅读文档和文档以获取更多信息。

于 2018-04-11T13:33:10.747 回答
-5

尝试更改 Azure 数据库中的 IP 地址。Lynda.com上有一个关于此的教程。

于 2018-04-11T09:48:24.623 回答