如何将用户ID设置为连接字符串中的电子邮件地址

时间:2018-03-27 00:02:40

标签: sql sql-server azure azure-sql-database

我正在尝试使用sys.sysusers连接到SQL Azure数据库,name等于"myname@mydoman"。问题在于尝试使用连接字符串

Data Source=tcp:coolsqldb.database.windows.net,1433;Initial Catalog=Cool;Persist Security Info=False;User ID=myname@mydoman.com;...

我得到了例外

Cannot open server "mydomain.com" requested by the login.  The login failed.
   at System.Data.SqlClient.SqlIn....

我尝试在ID=myname@mydoman.com中使用引号,这样它就是ID='myname@mydoman.com',但没有运气。知道我能做什么吗?

1 个答案:

答案 0 :(得分:0)

如果您在Azure Active Directory上创建这些身份,则可以将其创建为Azure SQL数据库的用户。

CREATE USER [myname@mydoman.com] FROM EXTERNAL PROVIDER;

您的字符串连接必须如下所示进行更改:

string ConnectionString =
@"Data Source=n9lxnyuzhv.database.windows.net; Authentication=Active Directory Password; Initial Catalog=testdb;  UID=myname@mydoman.com; PWD=MyPassWord!";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

有关详细信息,请访问this以下文档。