SQL Server には、実はローカルファイル(*.mdf)を直接扱う機能があります。
Visual Stuido で WEBアプリケーションを作った時に、ログイン用のデータベースが、App_Data フォルダに勝手に作られますよね。そのファイルです。
実は、このファイル、SQL Server Express Edition でしか動きません。
AttachDbFilenameとSQL Server Express EditionとVisual Studio 2005の微妙な関係
http://blogs.wankuma.com/naka/archive/2005/08/14/17986.aspx
なので、このままサーバー環境に持って行くと、
ログイン機能が動かないッ!!!
ってなオチになるわけですが … まあ、開発環境で試す&Express Edition でお手軽にDB開発をする分には十分な機能を持っています。
さて、
このローカルファイル、どうやって新規に作ればいいか?と考えたわけですが、う~ん、なんかその手のツールが見つからない&提供されていない、と悩んでいたのですが、
簡単なことで、ログイン用の aspnetdb.mdf をコピーするだけでOKでした。
Visual Studio 2010 でのサーバーエクスプローラもこの通り
「Microsoft SQL Server データベースファイル」を選択して、
コピー元のaspnetdbが持っているテーブルをばしばし消して、新しいテーブルを追加すればOKです。
ただし、難点があって、この機能は Express Edition 限定なので、
Microsoft SQL Server Managerment Studio からは接続できないというオチが。。。
なので、テーブル作成やらデータ挿入やらは、Visual Studio 上でやらないといけません。ちと面倒ですね。
~
追記 2010/08/06
このデータベースファイルを扱う場合、SQL Server 2008 R2 で作成したファイルは、当然 R2 以上の Express Edition がインストールされていないと駄目です。
Visual Studio 2010 をインストールしただけだと、SQL Server 2008 R0(無印)となるので、R2 にアップグレードしてしまった場合は、MDFファイルをコピーするときに注意が必要です。って、無印のほうを使わないと駄目。ちなみに、無印でコピーしたものは、R2で問題なく使えます。