web-dev-qa-db-ja.com

Azureを解決する方法「WindowsログインはこのバージョンのSQL Serverではサポートされていません」?

SQL Azureに接続しようとすると、次のエラーメッセージが表示されます。

Windowsログインは、このバージョンのSQL Serverではサポートされていません

Azure接続文字列を使用しています。開発では、SQL Server Expressに対して実行しています。この特定のエラーは、データベースからデータをフェッチしようとするとスローされます。

私が使用しているコンテキストはusing句で実行されています。以下を参照してください

function List<SomeType> GetList(string dbContextName) 
{ 
    using (MyDbContext context = new MyDbContext) 
    {
         return context.SomeTypes.ToList();
    } 
}

Entity Frameworkバージョン4.2、ASP.NET MVC 3および.NET 4.0を使用しています。

この問題を解決するにはどうすればよいですか?

26
Just2Click

ユーザー/パスを使用していてもエラーメッセージが表示されます。しかし、これを接続文字列に追加したところ、うまくいきました。

Trusted_Connection=False;Encrypt=True;
34
JoshYates1980

セットする

Integrated Security=False

接続文字列内。

15
Mahmad Khoja

Azは既に他の人から言及されていますが、SQL AzureではSQL Server認証のみがサポートされています。詳しくは SQL Azureのガイドラインと制限事項 をご覧ください。同様に SQL Azureのセキュリティガイドラインと制限事項

MASTERデータベースで CREATE LOGIN を自分で行う必要があります。次に、カスタムAzureデータベースで CREATE USER を実行します。また、sys.sp_addrolememberを実行して、ユーザーにいくつかの権限を付与することを忘れないでください。

詳細は SQL Azureでのユーザーとログインの管理 をご覧ください こちら

そして最後に、常に 接続文字列 の貴重なソースを確認できます。

8
astaykov

統合認証(つまり、接続文字列のSSPI)は、SQL Azureではサポートされていません。 SQL認証のみがサポートされています(つまり、接続文字列のユーザー名とパスワード)

7
ryancrawcour

おそらく間違った接続文字列を使用した可能性があります。これは、私の場合に機能した接続文字列の形式です。

"ConnectionString": "サーバー= tcp:xxxx.database.windows.net、1433;データベース= xxx;ユーザーID = xxx;パスワード= xxx; Encrypt = True; TrustServerCertificate = False;接続タイムアウト= 30;"

6
Joseph Wu
1.**Windows Authentication** is not supported in Azure so you should go with **SQL Server Authentication**.
2.When you use SQL server Authentication you should pass User Id(Login in SQL server) and Password(Password in SQL server).
3.User Id should contain space in between should not be like UserId.
4.Trusted_Connection should be false.
The connection string in *appsettings.json* look like this:

"ConnectionStrings": {
    "DBContext": "Server=ServerName;Database=DbName;User Id=loginName;Password=loginPassword;Trusted_Connection=false;MultipleActiveResultSets=true"
  }
4
Shetty