2011-07-11 9 views
2

SQLサーバーにはさまざまなユーザーがいますが、そのすべてがサーバーにログインできます。一度ログインしたユーザーは、特定のビューでは何も実行(選択、変更、編集)することはできませんが、残りのすべての操作は可能です。MSSQLSM 2008選択した文で奇妙なログインに失敗しました

ユーザー設定は、完全にアクセスできる(真剣に同一である)別のアカウントと同じです。

SELECT Top 1 * From View 
Msg 18456, Level 14, State 1, Line 1 
Login failed for user 'some user'. 

しかし、私がしようとすると、この

select top 1 * from view2 

は、私はこのエラーを取得しないとき:

Msg 2809, Level 18, State 1, Line 1 
The request for procedure 'View2' failed because 'view2' is a view object. 

が、再びなどを選択することはできません、ユーザーのために、私はこのエラーを取得する彼の見解をfromtこれは、トップ1を削除して完全に動作すると消えます。

私はselect * from every viewバーを最初に表示したときに、同じビューからはselect top 1 *を実行すると動作しません。何かを試してみると(選択、変更、編集)私が既にログインしていてもログインエラーが表示されます。

私はすでにユーザーを落として再作成しようとしています。また、イベントビューアを調べてみると、ログインエラーに関するログメッセージが見つかりませんでした。すべて私が持っているよう

私はそこにチェックするために、オブジェクトエクスプローラでセキュリティ>監査フォルダを見つけることができませんが、私は管理> SQL Serverのログをチェックしたときに、私はそこに何を見つけていないのいずれか..

すべてのヘルプははるかに高く評価されます

答えて

2

は、おそらくどちらか

  • リンクサーバーの問題を抱えています。つまり、ビューは、ログインマッピングが正しくないリンクサーバーにアクセスします。

  • 異なるスキーマに2つのビューがあります。 select * from viewまたはselect * from dbo.viewを使用していますか:は一貫していますかですか?

+0

こんにちは、あなたはスターです!ビューは実際にはリンクされたサーバーに参加していましたが、あるユーザーでは接続は正常でしたが、もう一方のサーバーではリンクされたサーバーには接続していませんでした。私は "接続が行われる"というオプションを "ログインの現在のセキュリティコンテキストを使用して行う"から "このセキュリティコンテキストを使用して行う"に変更し、彼がボックスに入り、すべてうまくいった:) – Arazmus

1

...これまでのところは、実際にサーバーの完全停止にログインすることができないに関係されていますがselect 1 * from ViewNameを行うと、あなたがLogin Failedを取得すると、それはおそらく、次のいずれかを示します。

は、テーブルを参照/別のデータベースからのビュー:

このユーザーには、別のデータベースのオブジェクトを表示する権限がない場合があります。

このユーザーは、ログイン情報が古くなっている可能性があり、または適切なを持っていないかもしれないこれらのサーバのいずれか1のマッピングを使用している可能性があります。リモートサーバーまたはリンクサーバーからテーブル/ビューを参照

資格情報。

+0

こんにちは、ありがとうございます。残念ながら私はサーバーにローカルにログインしており、db_ownerが選択された正しいデータベースにマップされるようにユーザーを設定しています。 – Arazmus

関連する問題