- ベストアンサー
エクセル2007からSQLserverへのリモート接続の方法
- エクセル2007からSQLserverへのリモート接続の方法を試みていますが、接続が拒否されるエラーが出ています。
- エクセル2007のデータマイニングアドインを使用して、SQLserverへリモート接続する方法を試しています。
- 必要な設定はすべて行っていますが、どこに問題があるのか分からない状況です。
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
ADは使わないということでしたので、こちらでもローカルユーザ同士で最後まで設定してみました。 1)サーバA、クライアントBにいずれもローカルユーザSSASUSRを登録し、パスワードを同じにします。 2)サーバAでSSMSからSSASに接続し、A\SSASUSRにインスタンスの管理者権限をつけます。 3)クライアントBにB\SSASUSRでログインし、サーバAのSSASに接続できることを確認します。 4)サーバAにA\SSASUSRでログインし、DMアドインのサーバ構成ユーティリティを開き、設定を行い、DMAddinsDBを作成します。 5)そのままサーバAでSSMSを開いてSSASに接続し、DMAddinsDBのロール(ExcelAddins_Role_...) のメンバシップにA\SSASUSRを追加します。 6)サーバAのインスタンス管理者からA\SSASUSRを外します。 7)クライアントBから、DMアドインのサーバ構成ユーティリティを開き、設定を行いますが、新規DBは作成せず、既存のDBとしてDMAddinsDBを指定します。 8)クライアントBから、DMAddinsDBに対して管理者として使えることを確認します。 確かにおっしゃっていたマッピングエラーは、6)で新規DBを作成しようとすると出ました(ようやく。。) しかし、既存DBに権限を与えてから接続させると問題なく稼働しました。 メンバシップ画面やインスタンスのセキュリティ画面では、メンバの追加は手打ちではできませんので、結局いずれもA\SSASUSRを登録することになります。それで問題ないようです。 もともとDMアドインは、そこから先使いこなすところがキモなので、うまくセットアップが完了することを祈っています。
その他の回答 (9)
- jamshid6
- ベストアンサー率88% (591/669)
>activdirectoryの設定がおかしいと思い。再インストールしたところsqlserverに ドメインユーザーがのこり、起動やアカウントの設定でマッピングエラーが出るようになってしまいました。 ADを入れ直して、そこまでなってしまったのであれば、無理に直そうとするよりも、シンプルにSQL Server自体を再インストールした方が賢明です。 (ADの設定がいいか悪いかについては、私の方ではアドバイスできませんので) 今までのところでいろいろ設定をいじった結果おかしくなってしまったところがないともいえません。ここまでの経験から最短ステップでセットアップできるでしょうから、その上で再度確認してみてはどうでしょう。 (もう9回まで来てしまいましたね。本来はここまで苦労する作業ではないはずでしたが。。)
補足
sqlserverのアンインストールでエラーがでてアンインストールができなかったので新しいインスタンスをいれ起動できるようになりました。 後はエクセル側からSSASに作成したDBに権限を付けられないということだけです。 マネージメントスタジオのSSASからDBにアクセスし、ロールを追加し、「全般」の権限と「メンバシップ」にユーザーを追加して対処しようと思います。 環境上、できればADを入れたくないということを言われまして、同名、同パスワードのユーザー作成で対処することになりました。 「メンバシップ」にユーザーを追加の部分で「クライアントのコンピュータ名¥ユーザー」か「サーバーのコンピュータ名¥ユーザー」で可能なのかそれ以外かということが気にかかっています。 jamshid6さんはロールができていたということでしたが、「メンバシップ」のユーザー名はどのようになっていたか最後に教えていただけないでしょうか? よろしくお願いします。
- jamshid6
- ベストアンサー率88% (591/669)
ようやく最初のエラー(場所がみつからないため云々)を再現させることができました。 しかし、、これはたぶんアドインのバグだと思います。 ここで権限を割り当てることができなくても、SQL Server Management StudioからSSASに接続し、作成されているDMAddInsDBの中身を展開すると「ロール」タブの中にExcelAddins_Role_xxxxxというロールが出来上がっていると思います(もしかしたらたくさんできているかも)。 そのロールのセキュリティで直接ユーザを割り当ててしまえば、同じことだと思います。
補足
ロールを確認しましたところ「ExcelAddins_Role_xxxxx」というようなものはありませんでした。空でした。 ローカル環境ではエラーは出ないので確認すると「ExcelAddins_Role_xxxxx」ができていました。 その後 activdirectoryの設定がおかしいと思い。再インストールしたところsqlserverに ドメインユーザーがのこり、起動やアカウントの設定でマッピングエラーが出るようになってしまいました。 SQLserverでユーザーの削除などはどこで行えるんでしょうか?
- jamshid6
- ベストアンサー率88% (591/669)
>管理権限の設定は複数ユーザーではできないということなのでしょうか? そんなことはありません。本来SSASのインスタンスに対するセキュリティ設定は1ヵ所しかないので、インスタンスのプロパティで、ログインしたいユーザにセキュリティ特権を割り当ててしまえば、割り当てられたドメインユーザはリモートからDBも作成できるはずです。 (データマイニングアドインは、対象のインスタンスにDMAddinsDBというOLAP DBを作成しようとするはずです) すみませんが、そのエラーが発生する可能性が思い当たらないです。 (思い当たらないので、こちらで再現させられないんです) もし、どこかがおかしくなってしまっていて、解決できなければ、再インストールしてみるしかないかもしれませんが。
補足
「1つきになるのが追加するユーザーまたはグループを指定します。」のところで「コンピュータ名¥ログインユーザー名」が表示されていて、削除してみて、追加しようとすると場所が見つからないため必要なダイアログボックスを開くことができません。と表示されます。 データマイニングアドインのサーバーの構成で リモートからDBの作成はできています。 「アドインユーザーにデータベース管理権限を与える」という部分の設定で「アカウント名とセキュリティーIDのマッピングは実行されませんでした。。」というエラーが出ています。
- jamshid6
- ベストアンサー率88% (591/669)
>実行アカウントは複数設定できるものなのですか? いや、そういうことではなくて、サービスのアカウントや、「分析サーバーのプロパティ」の「セキュリティ」でユーザを割り当てた後で、そのドメインユーザを一旦削除して、同じ名前で再度作成するとかすれば、セキュリティIDとのマッピングが不正と認識される可能性があるかと思ったので。。 (いずれにしても、ユーザ登録のどこかで不整合が生じていると思います)
補足
ドメインユーザーの削除はおこなったことがありません。 ローカル環境で実行アカウントを管理者に設定し、管理者としてログインして管理権限の設定をしようとするとエラーがでず正しく設定できるのですが、他のユーザーでログインし、管理権限の設定をしようとするとマッピングは行われませんでしたというエラーが出ます。 管理権限の設定は複数ユーザーではできないということなのでしょうか?
- jamshid6
- ベストアンサー率88% (591/669)
接続できるまでにいろいろ設定をいじられたのでしょうが、 結果として実行アカウントやSSASに割り当てているユーザなどを作りなおしたり(同じ名前で作りなおしたとしても)、すでに存在しなくなっているユーザが残っていたりということはありませんか?
補足
何回かいろいろなアカウントを設定したことがあります。 実行アカウントは複数設定できるものなのですか? どこかで確認できますか? 設定のたびに上書きされるものだと思っていました。
- jamshid6
- ベストアンサー率88% (591/669)
そうですか。ドメイン以外の環境は試したことはなかったのですが、確認してみたところ質問者さんが書かれた通り、 同じユーザ名/同じパスワードのユーザをサーバ・PC両方に作成するとローカルユーザでも認証は通りました。 質問者さんの環境でもそれでいけるならいいですが。。
補足
ありがとうございました。接続することができました。 やはりドメイン環境は無く、自分でactivedirectryをインストールしました。私の方では同じユーザ名/同じパスワードはうまくいきませんでした。 現在は、データマイニングアドインでSQLserverを構成するときに、アカウント名とセキュリティーIDのマッピングは実行されませんでした。というエラーが出て困っています。 なにか考えられる事はありますでしょうか?
- jamshid6
- ベストアンサー率88% (591/669)
>両方ログインできるドメインユーザーというのはローカルPC/サーバで同じ名前、パスワードのユーザーアカウントを作成するということよろしいでしょうか? いえ、そういうことではないです。 会社のLANはドメイン環境ではないのですか? リモートアクセスのWindows認証はネットワーク認証なので、ドメインコントローラがいないワークグループなどではWindows認証にできないと思います。 (その場合は非常にお勧めしにくいのですが匿名認証にするしかないかもしれません) ドメイン環境であれば、通常質問者さんがLANにつながっているPCにログインするユーザ(ドメイン名\ユーザ名)をサーバのAdministratorとして登録し、SQL Server&SSASの管理者権限もつけてあげればよいです。
補足
小さい会社なのでドメイン環境ではいと思います。 ドメイン環境は短時間で設定できるものなのでしょうか? windows2003serverでは匿名認証ができないという情報がありました。 IISを使用する必要があるのでしょうか?
- jamshid6
- ベストアンサー率88% (591/669)
まずはサーバ側でユーザの設定をしていただく必要がありそうです。 (データベースエンジン、SSASともに) ・リモート接続でWindows認証をしたければ、SQL Server側でローカルPC/サーバに両方ログインできるドメインユーザを登録してから試してみてください。 ・SSASはWindows認証しかサポートしていません。 ・デフォルトインスタンスであれば、サーバ名のみです。 (\MSSQLSERVERとつける必要はありません)
補足
社外なので実践できないことと、初心者で申し訳ないのですが、両方ログインできるドメインユーザーというのはローカルPC/サーバで同じ名前、パスワードのユーザーアカウントを作成するということよろしいでしょうか?
- jamshid6
- ベストアンサー率88% (591/669)
・サーバ名の指定が不自然なのですが、SSMS(SQL Server Management Studio)から、データベースエンジンでなく、SSAS(Analysis Service)に接続していますか? インストールはデフォルトインスタンスでしましたか、それとも名前付きインスタンスですか? (通常、サーバ名の指定はサーバ名、もしくは、サーバ名\インスタンス名です) ・SQL Browserサービス、および、SQL Server Analysis Serviceのサービス起動アカウントには何を指定しましたか?
補足
インストールはデフォルトインスタンスにしました。 クライアントのSSMSからサーバーのデータベースエンジンへはSQL認証で接続できますがwindows認証では接続できません。 クライアントのSSMSからサーバーのSSASへの接続しようとするとwindows認証しか選択できず、サーバー名の指定でサーバ名\MSSQLSERVERとすると ・browserが開始されていることを確認してください ・接続が拒否されましたというエラーが出ます。 インスタンス名はDatabase(MSSQLSERVER)という書かれ方あったのでMSSQLSERVERとしています。 SQL Browserサービス、および、SQL Server Analysis Serviceのサービス起動アカウントはビルトインでローカル?とネットワーク?を試しました。その下の部分にあったユーザー?とパスワードの部分はデフォルトのままです。なにも記入されていない状態です。
補足
ありがとうございました。要求を満たすように接続することができるようになりました。 これから本格的にマイニングに入り、アルゴリズムなどを学んでいこうと思います。 また、質問するかと思いますがよろしくお願いします。