none
Windows Azure ストレージエミュレーターについて RRS feed

  • 質問

  •  お世話になります。

    開発環境:
    Windows 7
    SQL Server 2008 R2 Developer Edition
    Visual Studio 2010 (開発言語は ASP.net/コードビハインドはVB.net)
    Windows Azure SDK v1.4
    Windows Azure Tools for Microsoft Visual Studio 2010 1.3
    .Net Framework 4


    ローカルのAdministratorではなく、
    社内ドメインのユーザーでWindowsにログインして
    開発を行っています。
    AzureのストレージサービスであるBlobに
    ファイルをアップロードするプログラムを作成中なのですが、
    ローカルの開発ストレージ(ストレージエミュレーター)を Visual Studio から
    うまく使用できずに困っています・・・

    開発環境が SQL Server 2008 R2 Developer Edition であるため、
    DSInitコマンドラインツールを使用し、以下のコマンドを使用してみましたが
    うまくいきませんでした。

    DSInit /sqlInstance:.

    処理がエラーになり、以下の内容のダイアログが表示されます。
    (データベースは作成されていました)

    Creating database DevelopmentStorageDb20090919...
    Granting database access to user <ドメイン名\ユーザー名>...
    Cannot Create database 'DevelopmentStorageDb20090919':
    ユーザーにはこの操作を実行する権限がありません。

    使用するデータベースにて、ドメインユーザーに権限がないのが原因かと、
    使用しているローカルの SQLServerManagement にて
    Create Database や Create Table 等の権限を付与して Visual Studio から
    何度か試しましたが
    「Server encountered an internal error. Please try again after some time.」
    というメッセージのエラーになってしまいます。

    ローカルユーザーではなく、ドメインユーザーで開発を行っている方で、
    上記のような状態になられた方はいらっしゃいませんでしょうか?
    また、 Visual Studio からストレージエミュレーターを使用する上で
    何か気を付けなければならないことがありますでしょうか?

    言葉足らずで分かりにくいところもあるかと思いますが、
    どうかご教授ください。
    よろしくお願いいたします。

    2011年9月16日 8:16

回答

  • 本現象に遭遇したことがないので、推測でいくつか回答いたします。

    Visual Studio 2010は、「管理者として実行」によって、管理者権限に昇格して起動する必要があります。
    コマンドラインツールも同様に、管理者権限に昇格したコマンドプロンプトを使用する必要があるかもしれません。

    ドメインユーザにSQL Severの権限が不足しているのが原因と思われます。
    ドメインユーザにSQL Serverのサーバーロールでsysadminロール
    (手元に環境がないので、微妙に名称が違うかもしれませんが、サーバ管理者権限を付与してください。
    まぁ権限付与しすぎなのですが、まずは切り分けのために)
    を付与して、その後ドメインユーザでWindows認証でSQL Serverにログインできることを確認し
    再度、試してみてください。

    • 回答としてマーク sanai-net 2011年9月17日 1:51
    2011年9月16日 14:56
    モデレータ

すべての返信

  • 本現象に遭遇したことがないので、推測でいくつか回答いたします。

    Visual Studio 2010は、「管理者として実行」によって、管理者権限に昇格して起動する必要があります。
    コマンドラインツールも同様に、管理者権限に昇格したコマンドプロンプトを使用する必要があるかもしれません。

    ドメインユーザにSQL Severの権限が不足しているのが原因と思われます。
    ドメインユーザにSQL Serverのサーバーロールでsysadminロール
    (手元に環境がないので、微妙に名称が違うかもしれませんが、サーバ管理者権限を付与してください。
    まぁ権限付与しすぎなのですが、まずは切り分けのために)
    を付与して、その後ドメインユーザでWindows認証でSQL Serverにログインできることを確認し
    再度、試してみてください。

    • 回答としてマーク sanai-net 2011年9月17日 1:51
    2011年9月16日 14:56
    モデレータ
  • ご回答ありがとうございます。

    いただいたアドバイスをもとに、
    ドメインユーザにSQL Serverのサーバーロールでsysadminロールを付与しましたところ、
    うまく動作させることができました!
    ありがとうございました。

    Visual Studio 2010とコマンドラインツールは
    「管理者として実行」させていたのですが、
    SQL ServerについてはGRANT文でちまちま権限を許可したり
    Windows認証でログインはできるようにしたりして
    その上のサーバ管理者権限は確認できていませんでした…

    今回のことを教訓として今後も頑張っていきたいと思います。
    重ね重ねありがとうございました!

     

    2011年9月17日 1:51