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 上获得的连接字符串中明确列出时会破坏所有内容。
注意几点:
- SQL 身份验证有效
- 我设置了 Active Directory 管理员
尝试更改 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();
我想实现以下目标:
避免在 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 上获得的连接字符串中明确列出时会破坏所有内容。
注意几点:
- SQL 身份验证有效
- 我设置了 Active Directory 管理员
尝试更改 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();