Windows 7上のMicrosoft SQL Server 2012でAnalysis Servicesを使用しています。
マイニングモデルを作成して処理しようとしました。処理中に次のエラーが表示されます。
OLE DBエラー:OLE DBまたはODBC error:
ユーザー 'NT Service\MSSQLServerOLAPService'のログインに失敗しました。 28000。
これを修正してモデルを正常に処理する方法は?
最近、同様のエラーが発生しました。
私のエラーは、エラーが私に与えた名前で、ssmsで新しいログインを作成することで修正されました。
あなたの場合、それは「NT Service\MSSQLServerOLAPService」になります
次に、「ユーザーマッピング」ページで、その新しいログインのプロパティで「db_datareader」と「db_datawriter」を確認する必要があります。上部で使用しているデータベースを確認し、下部の「db_datareader」と「db_datawriter」で「Database_Name For:Database_Name」と表示されている場所を確認します。
お役に立てれば。
また、「サーバーマネージャー」、「構成」、「サービス」に移動して、使用する「SQL Server Analysis Services(Instance_Name)」を検索することもできます。 [プロパティ]に移動し、[ログオン]タブに移動します。 「このアカウント」のオプションを使用する場合は、「偽装情報」のキューブのデータソースでユーザー名とパスワードとして指定されているアカウントを使用してください。
通常、この理由は、サービスを実行しているアカウントに、要求された操作を実行するための適切な権限がないためです。
これまでにこれを行うには2つの方法があります:
1-「SQL Server構成マネージャー」を実行する
2-[SQL Serverサービス]を選択します
3-[SQL Server Analysis Services]を右クリックして、プロパティを選択します
4-「ログオン」タブで、「このアカウント」を選択します。
5-「参照」ボタンをクリックし、「詳細」ボタンをクリックします。
6-「今すぐ検索」ボタンをクリックします。次の表でアカウントを見つけて選択します。
7-適切なアカウントを選択した場合(十分な許可がある場合)、「ログオン」タブに戻ります
パスワードを入力してください
8-サービスを再起動し、タスクを再試行してください...
これが役立つことを願っています...
すべての手順を完了したときにまだ許可エラーが発生していたため、Gayan Dasanayakeの answer に追加の手順を実行する必要がありました。
私の場合、ユーザー 'NT SERVICE\MSSQLServerOLAPService'を実際のデータベースにも追加し、ユーザープロパティを右クリックして[セキュリティ保護可能]セクションを介してすべてのディメンションおよびファクトテーブルに対する '選択'権限を付与する必要がありました。 SMSS。
私はアミールの正反対の論理を使用して私の解決策を見つけました。
ただし、後で実稼働にプッシュされる変更を行うためにローカルで実行しています。したがって、ローカルで実行している場合、このソリューションが役立つ場合があります。
以下の手順を試してください。
Visual Studioで[データソース]構成ウィンドウを開き、[偽装情報]ウィンドウで[サービスアカウントを使用する]を選択して、偽装モードをサービスアカウントに設定します。
サービスに移動しますMMCコンソール(Windowsのホームボタンを右クリックして[実行]を選択し、[実行]ダイアログウィンドウでservices.mscと入力して[OK]をクリックします)。
SQL Server Analysis Servicesサービスが見つかるまで右ペインのサービスリストを下にスクロールし、[ログオン]列でサービスが実行されているアカウント名を見つけます。完全修飾アカウント名(NT Service\SSASAccountName)をコピーし、サービスMMCウィンドウを閉じます。
SSMSで、アクセスする必要があるデータベースをクリックします。
次のSQLコマンドを使用して、SSASサービスアカウントのログインを作成します。
Windowsからのログイン[NT Service\MSOLAP $ SSASSERVICEACCOUNTNAME]の作成
そのデータベースの[セキュリティ]フォルダーをクリックします。
[セキュリティ]フォルダーの下で、[ユーザー]フォルダーを右クリックし、フライアウトメニューで[新しいユーザー]をクリックします。
[データベースユーザー-新規]ウィンドウで、[ユーザータイプ]ドロップダウンから[Windowsユーザー]を選択します。
[ユーザー名]フィールドに、ASアカウント名を入力します。
[ログイン名]フィールドの省略記号ボタンをクリックします。
[ログインの選択]ウィンドウで、アカウント名を入力して[OK]をクリックします。
[データベースユーザー-新規]ウィンドウに戻り、[デフォルトスキーマ]値にdboと入力して、[OK]をクリックします。
これで、UsersフォルダーにASサービスアカウントが表示されます。
Usersフォルダーのすぐ下にあるRolesフォルダーをダブルクリックし、次にデータベースのRolesフォルダーをダブルクリックします。
DB-ownerロールをダブルクリックします。これにより、データベースロールプロパティ-db_ownerウィンドウが開きます。
[データベースロールプロパティ-db_owner]ウィンドウで、[このロールペインのメンバー]の下にある[追加]ボタンをクリックします。
[データベースユーザーまたはロールの選択]ウィンドウで、[参照]ボタンをクリックします。
ASサービスアカウントが[オブジェクトの参照]ウィンドウに一覧表示されます。アカウントのチェックボックスを選択し、[OK]をクリックします。
[データベースユーザーまたはロールの選択]ウィンドウに戻り、[OK]をクリックします。
[データベースロールプロパティ-db_owner]ウィンドウの[このロールのメンバー]ペインに、ロールメンバーとしてリストされたASサービスアカウントが表示されます。
OKをクリックします。
私は同じ問題を抱えていたが、他の人の答えは役に立たない。
私の場合、私はこのように修正しました:
おそらく、Visual Studioのプロジェクトのデータソースで「サービスアカウントを使用」を設定する必要があります
今すぐ展開できるはずです。