SQL Server 2008 R2のデータをCompanyDataというデータベースに格納しています。私は、トランザクションの履歴を持つテーブルをいくつか持っています。SQL Server 2008のビューで詳細を非表示にする方法
特定のレポートユーザーの場合、報告容量はあるものの、多くの詳細は隠しておきたいと思います。
私は先に進んで新しいデータベースDBReportを作成し、テーブルから特定の列のみを選択するビューを作成しました。たとえば、[CompanyData]。[dbo]。[TableA]のSELECT field1、field2、field3 ...
私は新しいユーザーと新規ログインを作成しました(これらの違いは分かりませんが、 DBReportの両方でdb_datareaderロールを使用してReportingUserを呼び出すだけです)。
問題は、この制限されたユーザーとしてレポートを実行すると、現在のセキュリティではこれが起こっていないというエラーが返されるということです。
CompanyDataの有効なユーザーを使用してCompanyDataにログインするためのビューの指定方法が私の質問です。私はCompanyDataでReportingUserを作成することもできますが、それは私が避けたいものです。
は私が...私はので、ここで混乱していないことだ
感謝を願っています!
基本的に*ログイン*はサーバーに属し、*ユーザー*はデータベースに属します(技術的には、すべてのデータベースには独自のユーザーセットがありますが、実際には1つの同じセットになることもあります)。サーバーへのアクセス権(ログイン権)を持ち、特定のデータベースにアクセスすることはできません(ログインに関連付けられたDB内のユーザーはいない)。 –