none
Databaseにアタッチする方法 RRS feed

  • 質問

  • お世話になっております。

     

    SqlCommandを利用して、Databaseを作成しました。

    次に、このDatabaseにアタッチする方法を知りたいのですが、どうしたらよいのでしょうか?

     

    C#でSqlCommandなどを利用して、アタッチしたいのですが、

    Books OnlineからTransact_SQLを利用した方法として、 sp_attach_dbなどの構文を試していますが、

    どうすればよいか分らず、アタッチできません。

    現在は、Visual Studio 2005のサーバー エクスプローラの該当するデータベースの円筒の右下に×印の付いた状態です。

     

    CREATE DATABASE FOR ATTACH を利用するのが良いようですが、例としては、どんな風になるのでしょうか?

     

    お願いいたします。

    2008年5月4日 12:49

回答

すべての返信

  •  yem さんからの引用

    現在は、Visual Studio 2005のサーバー エクスプローラの該当するデータベースの円筒の右下に×印の付いた状態です。

     

    確認させて下さい。

    デタッチ状態であれば、赤い丸に赤の斜め線が入り、右下にxマークのあるアイコンになりますので、アタッチはされており、接続できない状態にあるのではないでしょうか?

    2008年5月4日 13:47
    モデレータ
  • お世話になります。

     

    ご指摘の通り、

     

    「デタッチ状態であれば、赤い丸に赤の斜め線が入り、右下にxマークのあるアイコンになりますので、アタッチはされており、接続できない状態にある」

    ようです。

     

    で、

    「このログインで要求されたデータベース"xxxxx"を開けません。ログインに失敗しました。

    ユーザー'..........'は、ログインできませんでした。」

    とのメッセージです。

     

    これは、覚えはじめの頃から何度も見たメッセージですが、相変わらずこんなところでも解決できません。

     

    よろしくお願いします。

    2008年5月4日 14:55
  • 以下を参考にして、ログインユーザーの作成、データベースユーザーの作成、および適切な権限の付与を行って下さい。

     

    SQL Server 2005 自習書シリーズ
    http://www.microsoft.com/japan/technet/prodtechnol/sql/2005/exercises.mspx


    管理編
    SQLCMD
    (SQL Server 2005 自習書シリーズ 管理編 No.3)

    ユーザー作成と権限設定

     

     

    また、SMOを使う方法もあります。

     

    SQL Server 管理オブジェクト (SMO)
    http://msdn.microsoft.com/ja-jp/library/ms162169.aspx

     

    SMOを使った例が以下にあります。

     

    How to create a login/user & grant rights?
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1332928&SiteID=1

    2008年5月4日 15:37
    モデレータ
  • ありがとうございます。

     

    自習書のユーザー作成と権限設定を見てみました。

    ユーザーと権限との設定ができていなかったのが原因なのですね。

    いつも、Management Studioの機能に頼りきっていたので、

    この辺りをまるで理解していなかったようです。

     

    また、C#のコードを利用して、同様の操作を行うには、ご紹介のものを参考に、

    SMOを使ってみる方法がある、ということですね。

     

    How to create a login/user & grant rights?

    のコードは難しそうですが、そのまま使って試してみます。

     

    また、どうぞよろしくお願いいたします。

    2008年5月5日 3:38
  • お世話になっています。

     

    How to create a login/user & grant rights?

    のコードは難しく、今の私にとって、そのまま使うのは無理のようです。

     

    という訳で、当面非常に残念ながら、

    SMOを使わない(C#のコードを使わない)方法で自習書に基づいて

    ログイン、ユーザー、権限を設定していくことで、対応してみます。

     

    ありがとうございました。

    2008年5月5日 5:22