2009-06-12 24 views
1

MyViewというビューを持つデータベースMydatabaseがあります。Sqlサーバーのアクセス許可の問題

パブリックロールのメンバーであるすべてのユーザーがビューから選択できるようにします。

MyView TO [Public]でGRANT SELECTを実行し、Testと呼ばれるSQL Serverでテストログインを作成し、パブリックロールのメンバーにしましたが、ビューを選択できませんでした。

私は間違っていますか?

答えて

2
USE MyDB 
GO 
CREATE USER Test FROM LOGIN Test 
GO 
GRANT CONNECT TO Test 
GO 

ログイン「テスト」は、「ユーザー」としてデータベースに設定する必要があります。 デフォルトでは、すべてのユーザーがデータベースパブリックロールのメンバーです。

See Principals in BOL

+0

OK。したがって、ユーザーを追加することなく、サーバー上の任意のユーザーが選択できるデータベースでビューを作成する方法はありませんか? – WOPR

+0

hmmm。あんまり。各ログインは、明示的にユーザーとして設定する必要があります。唯一の確実な方法は、すべてのログインシステム管理者に狂気とリスクを伴うことです。 – gbn

0

ログインとユーザーは性質が異なります。ログインはサーバーレベルにあり、ユーザーはデータベースレベルにあります。すべてのユーザーに対応するログインがあります。同時に、すべてのログインに対応するユーザーアカウントがあるわけではありません。

+0

パブリックロールの誰にでも接続許可を与えることができます(個々のユーザーを指定せずに) – WOPR

1

あなたは誰を与えるか、または公開は、それを選択し、データベースへのアクセスを接続するデータベースのプロパティに入り、権限のページを後藤「ユーザーまたはロール」リストに「ゲスト」を追加したい場合下段にある「接続」行を探し、「許可」を選択して調整し、「OK」をクリックします。これにより、すべてのサーバーログインがそのデータベースにaccss接続します。

関連する問題