Azure SQL 数据库 - Active Directory 集成身份验证

Azure SQL Database - Active Directory integrated authentication

我想实现以下目标:

避免在 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";

并尝试使用它我得到以下异常:

Exception message: Cannot use 'Authentication=Active Directory Integrated' with 'User ID', 'UID', 'Password' or 'PWD' connection string keywords., Exception stacktrace: at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous) at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) at System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key)

因为我的数据库 admin/infrastructure 经验非常有限,所以我不知道为什么 'User ID' 在我在 Azure 上获得的连接字符串中明确列出时会破坏所有内容。

注意几点:

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

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

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

请阅读 this documentation and this 文档以获取更多信息。