by WebSurfer
2010年9月23日 13:37
Microsoft SQL Server Database Publishing Wizard という、SQL Server データベース(スキーマとデータの両方) を共有ホスティングサービスのサーバなどに移設するためのスクリプトを自動生成してくれる便利なツールがあります。
このツールは Visual Studio に統合できるようになっていて、開発環境で App_Data フォルダに作ってユーザーインスタンスに接続しているデータベースにも対応できます。
Visual Studio 2008 にはこのツールは同梱されておらず、CodePlex の サイト からダウンロードしてインストールしましたが、Visual Studio 2010 では同梱されていました。
上の写真のように、サーバーエクスプローラの mdf ファイルを右クリックし、出てきたコンテキストメニューで Publish to Provider... をクリックするとウィザードが起動します。後はウィザードに従って進めていくだけですが、一応ポイントを書いておきます。
理由は分かりませんが、Visual Studio をデータベースに接続したまま進めるとエラーになることがあります。その場合はサーバーエクスプローラで切断してから進めてください。
うまくいけば「データベースの選択」画面が表示されます。Visual Studio のサーバーエクスプローラに表示されているデータベース以外に、SQL Server にアタッチされているデータベースも表示されます。
「出力先の選択」画面でスクリプトファイルの名前と保存先を指定します。下の写真はデフォルト設定のままです。直接、ホスティングサービスのサーバーにパブリッシュできるオプションもあるようですが、やり方が分かりません。(笑)
「パブリッシング オプションの選択」画面で、詳細設定オプションを選択します。パブリッシュするデータの型は、スキーマのみ、スキーマとデータ、データのみ、の 3 種類の中から選択できます。データを含めると、データが多い場合はスクリプトファイルのサイズがとんでもなく大きくなりますので、データが必要なければ「スキーマのみ」にしておいてください。
以上で、指定したフォルダに指定したファイル名でスクリプトファイルが作成されます。下の写真は、作成されたスクリプトファイルを SQL Server Management Studio で開いたものです。ホスティングサービスの SQL Server でこのスクリプトを実行すれば、開発環境で作ったデーターベースと同じものが出来上がります。ちなみに、自分の場合スクリプトの実行は、ホスティングサービスが MyLittleAdmin を提供していますので、それを利用しています。