SQL Server で MySQL や SQLite などのダンプっぽいことをしたかったのですが、SSMS の「スクリプトの生成」機能を使うことで簡単に出来ます。
この機能、CREATE TABLE 文(テーブル定義)のスクリプトを吐き出す “だけの” 機能だと思ってました。
しかし、設定を変更するだけで INSERT 文も吐き出せます。
とりあえず自分用メモの為に残しておきます。
■1:SSMS(Microsoft SQL Server Management Studio)の起動。
SSMS を起動したら、対象となるサーバーにログインします。
■2:ダンプするデータベースの選択。
SSMS でダンプするデータベースを選択して右クリックからコンテキストメニューを表示します。
表示されたコンテキストメニューから [タスク] – [スクリプトの生成] を選択します。
■3:ウィザードの起動。
[スクリプトの生成] を選択すると、ウィザード画面が表示されます。
最初のウィザード画面は説明画面なので、[次へ] ボタンで処理を進めます。
■4:対象となる範囲の決定。
ココでは、生成するスクリプトの対処となる範囲を、下記の2通りから決定します。
- ・データベース全体とすべてのデータベース オブジェクトのスクリプトを作成
- ・特定のデータベース オブジェクトの選択
今回の目的はダンプの確認になるので、「特定のデータベース オブジェクトの選択」を選んだ場合はデーターのあるテーブルを含める必要があります。
(今回の確認作業では全テーブルを選択しています。)
■5:出力先の決定。
最後に、吐き出されるスクリプトの出力先を指定します。
出力の種類は下記の2通り選べますが、ダンプする際にはどちらでも構いません。
- ・スクリプトを指定した場所に保存
- ・Web サービスにパブリッシュ
・「スクリプトを指定した場所に保存」を選んだ場合
ファイルに保存を選択して、詳細設定 のボタンを押下します。
スクリプト作成の詳細オプション の画面が表示されますので、「スクリプトを作成するデータの種類」の項目から「スキーマとデータ」を選びます。
・「Web サービスにパブリッシュ」を選んだ場合
詳細設定 のボタンを押下します。
スクリプト作成の詳細オプション の画面が表示されますので、「スクリプトを作成するデータの種類」の項目から「スキーマとデータ」を選びます。
■6:スクリプトの出力
ウィザードを先に進めると、設定等に問題が無ければスクリプトが指定された場所に出力されます。
という感じです。
それ以外の方法でデータを吐き出したい場合には、下記の stackoverflow にも書かれていますが、アドイン等もイロイロありそうです。
http://stackoverflow.com/questions/1515969/exporting-data-in-sql-server-as-insert-into