none
Visual Studio と Management Studio 双方でデータベースを操作する方法 RRS feed

  • 質問

  • お世話になります。

    Visual Studio 2008 でデータベースにアタッチしている状態で、2005 Management Studio Express でも同時にアタッチして、データの操作結果を相互に確認していきたいと思います。
    Visual Studio からアタッチした上で、Management Studio からアタッチしようとすると、「別のプロセスが使用中です。」という、エラーメッセージが表示されてしまいます。

    双方から操作する方法を教えていただきたいのです。
    よろしくお願いします。
    • 編集済み wiemint 2009年6月21日 5:02
    2009年6月21日 4:56

回答

  • うーん、補足しようか悩んで止めといたのですが、やっぱり必要でしたか。

    アタッチについて、
    「Visual Studio 2008 or 2005 Management Studio Express」がデータベースファイルにアタッチする、という概念ではなく、
    「SQL Serverのサービスプロセス」がデータベースファイルにアタッチする、という概念です。

    だからアタッチは1回でよく、それが済んでいればVisual Studio 2008や2005 Management Studio Expressなど複数のアプリケーションがSQL Serverに接続するのは自由です。
    アタッチせず、単に接続すればご希望の動作をします。
    • 回答としてマーク sk7474 2009年6月30日 9:39
    2009年6月21日 22:32
  • 未確認で、ひょっとしたら間違っているかもしれませんが・・・・

    VS2008でアタッチした状態で、Management ExpressでDBに接続すると左側のオブジェクトエクスプローラーの中に、
    アタッチしたものが表示されていませんか?

    もしくは、Management Studioでアタッチしてから、VSのDBエクスプローラーで接続詞に行くとか・・・。

    両方で使うときには、両方でアタッチしないといけないと考えるのではなく、
    片方でアタッチしてもう片方は、アタッチされたものに接続するという考え方が正しいと思います。


    http://techbank.jp/nora/(SQL Serverを中心に情報発信中)
    • 回答としてマーク sk7474 2009年6月30日 9:39
    2009年6月21日 8:01
  • データーベースのアタッチは、VS2008 もしくは SQL Server Management Studio から1度のみ実行するだけで構いません。
    アタッチ後に該当のデーターベースに接続した場合は、VS2008では、データベース名への接続で、データベース名の選択にて選択し、SQL Server Management Studio から、該当のインスタンスへ接続するのみで大丈夫だと思います。
    • 回答としてマーク sk7474 2009年6月30日 9:39
    2009年6月21日 13:27

すべての返信

  • 未確認で、ひょっとしたら間違っているかもしれませんが・・・・

    VS2008でアタッチした状態で、Management ExpressでDBに接続すると左側のオブジェクトエクスプローラーの中に、
    アタッチしたものが表示されていませんか?

    もしくは、Management Studioでアタッチしてから、VSのDBエクスプローラーで接続詞に行くとか・・・。

    両方で使うときには、両方でアタッチしないといけないと考えるのではなく、
    片方でアタッチしてもう片方は、アタッチされたものに接続するという考え方が正しいと思います。


    http://techbank.jp/nora/(SQL Serverを中心に情報発信中)
    • 回答としてマーク sk7474 2009年6月30日 9:39
    2009年6月21日 8:01
  • データーベースのアタッチは、VS2008 もしくは SQL Server Management Studio から1度のみ実行するだけで構いません。
    アタッチ後に該当のデーターベースに接続した場合は、VS2008では、データベース名への接続で、データベース名の選択にて選択し、SQL Server Management Studio から、該当のインスタンスへ接続するのみで大丈夫だと思います。
    • 回答としてマーク sk7474 2009年6月30日 9:39
    2009年6月21日 13:27
  • ありがとうございます。

    アタッチは一度、と了解しました。念のため確認させてください。
    となると、VS でテーブルデータを開き、Management Studio でテーブルを開く、というような操作はできないのですね。

    お願いします。
    2009年6月21日 21:41
  • ごめんなさい。
    サインインが違っていましたが、同一人です。混乱していました。
    よろしくお願いします。
    2009年6月21日 21:47
  • うーん、補足しようか悩んで止めといたのですが、やっぱり必要でしたか。

    アタッチについて、
    「Visual Studio 2008 or 2005 Management Studio Express」がデータベースファイルにアタッチする、という概念ではなく、
    「SQL Serverのサービスプロセス」がデータベースファイルにアタッチする、という概念です。

    だからアタッチは1回でよく、それが済んでいればVisual Studio 2008や2005 Management Studio Expressなど複数のアプリケーションがSQL Serverに接続するのは自由です。
    アタッチせず、単に接続すればご希望の動作をします。
    • 回答としてマーク sk7474 2009年6月30日 9:39
    2009年6月21日 22:32
  • はぁ、なるほど、です。

    SQL Serverのサービスプロセス がデータベースファイルにアタッチすると、複数のアプリケーションがSQL Serverに接続することができるということですね。

    アタッチと接続との違いをはっきり区別しなければいけないのですね。ぜんぜん違うことのようなので、概念をはっきりさせてみようと思います。
    Books Onlineがいいのでしょうね。
    2009年6月22日 11:08
  • こんにちは。中川俊輔です。

    皆様、詳しい回答ありがとうございます。

    wiemintさん、フォーラムのご利用ありがとうございます。
    勝手ながら、有用な情報と思われる回答へ回答マークをつけさせていただきました。
    また何かわからないことがありましたら、ぜひまた質問を投稿してみてください。

    今後ともフォーラムをよろしくお願いします。
    それでは!
    マイクロソフト株式会社 フォーラム オペレータ 中川 俊輔
    2009年6月30日 9:42