2017-10-09 3 views
0

現在、私のAzure SQL DWH用にいくつかのユーザーを設定しています。サーバーレベルでログインし、データベースにユーザーを作成しました。ただし、データベースユーザーを使用しようとすると、ログインに失敗しましたというメッセージが表示されます。私がログインを使用する場合、私は作成したそれはうまく動作します。このログインは、私がアクセス権を与えたビューへのアクセス権も持っています。私は本当に明白な何かを見逃しているのですか、SQL DWHのログインとロールについて何か違うのですか?Azure SQL DWH:ユーザーではなくログインで接続することができます

CREATE LOGIN Login WITH PASSWORD = 'Password'; 
CREATE USER User FROM LOGIN Login; 
+1

私はdwについてはわかりませんが、sqlserverの場合、ユーザーがログインしていない場合は、ユーザーが含まれています。** dwにも同じ**が適用されます。 – TheGameiswar

+1

これは意味があると思います。含まれているデータベースのドキュメントがSQL DWH、https://docs.microsoft.com/en-us/sql/relational-databases/databases/contained-databasesに当てはまらないと仮定すると、あなたの前提が正しいと思われます。ありがとう! –

答えて

0

予約語であるため、新しいデータベースログインの名前として "user"を使用することはできません。さらに、ログインをdatareaderロールに追加して、もう一度やり直してください。

EXEC sp_addrolemember 'db_datareader', 'newdatabaseuser'; 

データベースを指定せずにSQLデータウェアハウスサーバーにログインしようとしてください。上記のステートメントで接続できる場合は、問題を解決する可能性があります。

アプリケーションから接続しようとしている場合は、適切なドライバを使用していることを確認してください。詳細についてはhereをご覧ください。

これが役に立ちます。

+0

こんにちはアルベルト、 私は実際に自分のログイン「ログイン」と私のユーザー「ユーザー」と呼んでいるわけではありません。自分のユーザーをdatareaderロールに追加し、データベースを指定しないようにしました。残念ながら、それは何の違いもありません。私が作成したユーザーを使用すると、ログインに失敗します。ログインとうまく動作するので、TheGameiswarの理論がそうであるように思えます。 –

+0

masterデータベースでCREATE LOGINステートメントを実行し、SQL Azureデータウェアハウス固有のデータベースでCREATE USERを実行する必要があることをご存じですか?この記事をお読みください:https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-overview-manage-security –

関連する問題