オブジェクト「Users」、データベース「XXX」、スキーマ「dbo」に対するSELECT権限が拒否されました。質問する

オブジェクト「Users」、データベース「XXX」、スキーマ「dbo」に対するSELECT権限が拒否されました。質問する

SQL Server 2012 から Azure にデータベースを移動しました。ユーザー は使用したくないmasterので、ユーザー を作成しましたtest。Azure 上のデータベース XXX に対して行った操作は次のとおりです。

create user test from login test with default_schema=[dbo]
exec sp_addrolemember 'db_owner','test'

確認したところ、関心のあるデータベース オブジェクトはすべてスキーマ 内にありますdbo。テーブルはUsersスキーマ 内にありますdbo

私の Web プロジェクトの接続文字列testにはログインがあります。次のエラー メッセージが生成されます:

The SELECT permission was denied on the object 'Users', database 'XXX', schema 'dbo'

エラー メッセージの意味は何ですか? ユーザーがtestデータベース XXX にアクセスできるようにするにはどうすればよいでしょうか?

ベストアンサー1

  1. SQL Management Studioを開く
  2. データベースを拡張する
  3. 「セキュリティ」フォルダを展開します
  4. 「ユーザー」を展開
  5. ユーザー (クエリを実行しようとしているユーザー) を右クリックし、 を選択しますProperties
  6. ページを選択してくださいMembership
  7. 必ずチェックを外してください

    db_denydatareader

    db_denydatawriter

ここに画像の説明を入力してください

言うまでもありませんが、ユーザーが必要とするものにのみ権限を付与してください。簡単な手抜きの解決策は、db_owner私が行ったように確認することですが、これは最善のセキュリティ対策ではありません。

おすすめ記事