SQL Server 構成マネージャー を起動しようとするとエラーが発生して起動できない対処法

64 bit 環境で SQL Server に関連するソフトウェアのインストールやアンインストールを繰り返していると SQL Server 構成マネージャー を起動しようとしたときに

----------------------------------------------------------------------
WMI プロバイダーに接続できません。権限がないかサーバーにアクセスできません。SQL Server 2005 以降のサーバーは、SQL Server 構成マネージャーでのみ管理できます。
無効なクラスです [0x80041010]
-------------------------------------------------------------------------

image

と表示されて起動できなくなってしまう場合があります。対処法についてはマイクロソフトの公式サイトに載っています。

基本的には上記リンク先のコマンドを管理者権限で起動したコマンド プロンプトで入力すればいいのですが、どうもパスが間違っているらしく、以下のように修正する必要があります。(もちろんインストールしたときのフォルダ設定によってパスが変わる可能性もあります。)

  • 誤:mofcomp "%programfiles(x86)%MicrosoftMicrosoft SQL Server100Sharedsqlmgmproviderxpsp2up.mof"
  • 正:mofcomp "%programfiles(x86)%Microsoft SQL Server100Sharedsqlmgmproviderxpsp2up.mof"

image

]]>

DCOM を使用して Excel を実行する際の実行ユーザーアカウントを強制的に変更する

【概要】

通常 DCOM を使用して Excel オブジェクトを扱った場合、Excel の実行権限はプログラムを実行したユーザーの権限になります。Administrators で実行した場合は Administrators、Users 権限であれば Users, IIS から起動した場合は IIS ユーザー(IIS のバージョンや設定によって名前が変わるので IIS ユーザーとします)となります。

しかし、プログラムの実行ユーザーによって権限がないために本来使用したい機能があったとしても使用できずにエラーになってしまう場合があります。そういう場合は DCOM の実行権限を強制的に特定のユーザーの権限にしてしまう方法があります。

ただし、一般ユーザーであるにもかかわらず Administrators 権限で実行させることもできてしまいますので、セキュリティ観点で十分に注意する必要があります。

【手順】

  1. スタートメニューのプログラムとファイルの検索入力で「dcomcnfg」と入力して「dcomcnfg.exe」を実行
  2. 「コンポーネント サービス」⇒「コンピューター」⇒「マイ コンピューター」⇒「DCOMの構成」を展開し、「Microsoft Excel Application」を右クリックし、「プロパティ」を選択
  3. プロパティが開いたら「ID」タブを選択し、ユーザーから「このユーザー」を選択、実行したときに与える権限を持つユーザーとパスワードを入力
]]>

ワークグループ環境の SQL Server の各機能に対しての認証の方法まとめ

ドメイン環境であれば認証はある程度 Active Directory に任せられるので楽なのですが、ワークグループ環境では各サービスごとに認証が異なっていたりなど、ハマリどころが多いです。とりあえずわかる範囲でまとめていますが(自分用)、もしかしたら間違っているところもあるかもしれませんので参考程度に見てください。

■環境

  • ローカルPC (ワークグループ or ドメイン環境)
  • サーバーPC (SQL Server インストール, ワークグループ環境)

■接続メモ

 

【SQL Server データベース】

  • Windows 認証と SQL Server 認証を選択可
  • SQL Server 認証の場合、接続文字列にユーザー名とパスワードがあればそのほかの認証は必要なし。事前に SQL Server のログインにユーザーを登録する必要はある。
  • Windows 認証の場合はローカルPCとサーバーPCに同じユーザー名、パスワードのアカウントが必要
  • データベースアクセス時に認証ダイアログが表示される場合があり、サーバーのアカウントさえ入力できれば接続できるようにも思えるが、ローカルにあるアカウントも同時にチェックしているため、やはりローカルとサーバーに同じアカウントが必要である。
  • サーバーに作成したユーザーアカウントを SQL Server のログインに登録する必要あり。また、登録したアカウントに対してデータベース、テーブルなどそれぞれアクセスできる権限を設定する必要あり。

 

【Analysis Services】

  • Windows 認証一択
  • ローカルPCとサーバーPCに同じユーザー名、パスワードのアカウントが必要
  • キューブアクセス時に認証ダイアログが表示される場合があり、サーバーのアカウントさえ入力できれば接続できるようにも思えるが、ローカルにあるアカウントも同時にチェックしているため、やはりローカルとサーバーに同じアカウントが必要である。
  • キューブに接続できるユーザーを指定したロールを作成する必要あり。

 

【レポート マネージャー】

  • Windows 認証一択
  • レポート マネージャーに接続する際に認証ダイアログが表示されるが、サーバーに登録されているユーザーを入力すれば認証可能。ローカルに同じユーザーを作る必要はない。これはレポートマネージャーが Web システムであり、実行するプログラムの実態がサーバーにあるため。
  • レポートビルダーからレポートサーバーにアクセスする場合も、サーバーに登録されているアカウントを指定すれば認証可能
  • レポート マネージャー、レポートにアクセスできるユーザーは、レポートマネージャーでフォルダ、ファイル単位に設定

 

足りない項目は後で追加するかもしれません。また何か違う内容、または追記すべき項目があればコメントください。

]]>

レポート ビルダーでレポート マネージャーに配置してあるデータ ソースを参照したときにデータ ソース クエリを参照できないエラーの対処法

はまったので簡単にメモします。

【環境】

■クライアントPC

  • レポート ビルダー 3.0

■サーバーPC

  • Reporting Services (SQL Server 2008 R2)
  • 参照するテーブル、またはキューブ
  • 上記のデータ ソース配置

 

【原因と対処法】

レポート ビルダーを使うクライアントからサーバーにあるデータ ソースを参照し、クエリデザインを開こうとしたときに認証エラーになる場合があります。

【エラー例】

  • ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。
  • 対象のコンピュータによって拒否されたため、接続できませんでした。

逆にサーバー内で直接レポート ビルダーで編集するときや、レポート マネージャーから(サーバー、クライアントからアクセスどちらでも)データ ソースの接続テストを行った場合には問題ない場合があります。

これのよくある原因としては、データソースのホスト名指定に「localhost」を指定している場合に発生します。

サーバー上で編集している場合は自分自身(localhost)にデータソースが存在するのでエラーが発生しません。クライアントからレポート マネージャーを開いてデータソースの接続テストを行った場合にも、実際にプロセスが動いているのはサーバーなのでこちらもエラーになりません。

レポート ビルダーからサーバーのデータソースを参照した場合は、データソース自体はサーバーにあるのですが、そのデータソースを使って実行するプロセスはクライアントになるため、localhost はクライアントPCを指すことになり、データ ソース(テーブルなど)が存在しないため、エラーになることがあります。

ですので、レポート マネージャーに配置するデータ ソースが参照するホスト名は localhost にはせず、必ずサーバー名、または IP アドレスを明示的に指定する必要があります。

]]>

ホスト名にアンダーバー(_)を含むサイトに Internet Explorer でアクセスすると Cookie が保存されない

完全に盲点な仕様でした。ASP.NET で Web サイトを構築していたのですが、なぜかホスト名でアクセスするとセッションに保存していたデータが消失してしまうという謎の原因が発生し、解決の糸口が見つからなかったので MSDN フォーラムで質問していました。

ホスト名にアンダーバーをいれた場合、Cookie が保存されないのは IE だけの仕様なんですね(IE 6~9 で確認)。ほかのブラウザでは問題なく Cookie は保存されるようでした。

検索してみると結構出てくるみたいです。

ひさびさに大ハマリしてしまいました orz

]]>

ComicStudio でレイヤーを別のページにコピーする

【環境】

  • ComicStudio Pro 4.0

【手順】

  1. コピー元レイヤーのあるページの編集画面で「Ctrl」+「A」で全選択
  2. コピーしたいレイヤーをレイヤーウインドウから選択。(複数コピーする場合は「Ctrl」キー押しながらクリック)
  3. 「Ctrl」+「C」でコピー
  4. コピー先のページに移動
  5. 編集画面上で「Ctrl」+「V」で完了

最初のコピー元のページで全選択をするところがミソ。これをしないとコピーできません。

]]>

ひとつのストレージに作成できるプライマリパーティションは4つまで

今まで知らなかったんですが、ひとつのストレージに作成できるプライマリパーティションは4つまでなんですね。4つのうち一つはシステムで使用されるので実際に作成できるのは3つまで。例えば「C, D, E」ドライブのように。

それ以上作成したい場合は、他のストレージを追加するか拡張パーティションを使用するみたいです。

]]>

Windows Virtual PC で SQL Server 2008 R2 のインストールでエラーが発生する

メモです。

SQL Server 2008 R2 のインストーラーディスクイメージ(iso)を Windows Virtual PC の ISO イメージマウント機能でマウントしインストールすると、インストール中にエラーが発生します。しかも中途半端にインストールされるため正常にアンインストールすることもできません。似たような現象は「SQL Server 2008 R2 インストールでエラー」でも報告されています。

対処法

ISO ファイルを直接マウントするとエラーが発生するようなので、ホストPC で仮想CD/DVDドライブを作成し、そこに SQL Server 2008 R2 のイメージファイルをマウントします。Windows Virtual PC ではその仮想CD/DVDドライブをマウントし、SQL Server 2008 R2 をインストールします。

ただし、仮想 CD/DVD ドライブの作成に Virtual CloneDrive を使用すると、「Windows Virtual PC に Windows 7 (x86) SP1 をインストールしようとすると CD/DVD ドライブのドライバが見つからなくてインストールできない」と似たような現象がインストーラー起動直後に発生するので、代わりに「Alcohol 52%」というソフトで仮想 CD/DVD ドライブを作成します。

]]>

Windows Virtual PC に Windows 7 (x86) SP1 をインストールしようとすると CD/DVD ドライブのドライバが見つからなくてインストールできない

メモです。

エラーと発生する環境

Windows 7 のインストーラーイメージ(iso)を Virtual CloneDrive の仮想ドライブにマウントしてインストールすると、CD/DVD ドライブのドライバが見つからないと表示され先に進めないようです。

ホストOS Windows 7 SP1 (x64)
ゲストOS Windows 7 SP1 (x86)
インストーラー媒体 ISO (仮想ドライブにマウント)
仮想CD/DVDドライブ Virtual CloneDrive 5.4.3.2

 

対処法

iso ファイルを仮想ドライブにマウントするのではなく、Windows Vritual PC の CD ドライブの設定で直接 iso ファイルをマウントできる機能があるので、そこからインストールすることが可能です。

]]>