一番簡単なのが、この範囲選択して張り付ける方法です。操作はいたってシンプルで、SQL Serverの管理コンソール「Enterprise Manager」から、データが必要なテーブルを右クリックして開きます。開いたテーブルのデータは、そのまま切り貼り(コピー&ペースト)できるようになっています。ちょっとしたデータのコピーは、筆者もよくこの方法を使いますね。
クエリアナライザでは、クエリの結果をCSVと固定長テキストファイルとして出力できます。クエリアナライザのメニューから[クエリ]-[結果をテキストで表示]と設定すれば、[F5]キーでクエリを実行したときに、バラバラっと固定長文字列のクエリ結果が表示されます。また、メニューから[ツール]-[オプション]-[結果]と選択すれば、固定長文字列かCSVのいずれかの出力形式を選択できます。出力したデータは、次に紹介するDTSで簡単に取り込めます。クエリ結果のデータだけとっておきたいようなときには、便利な機能と言えるでしょう。
Oracleでテーブルのバックアップとるときに一番簡単な方法は、下記のようにCREATE TABLE文にSELECT文をつなげてしまう方法でしょう。
CREATE TABLE 新テーブル AS SELECT * FROM 旧テーブル
この構文を使えばあっという間にテーブルのコピーが作れますね。
さて、SQL ServerではCREATE TABLE AS...はありませんが、Enterprise ManagerからDTS(Data Transformation Service)を使えば簡単にバックアップを作れます。
DTSは、本来はデータ転送の総合ツールです。OracleからSQL Serverにデータを移行したり、逆にSQL ServerからOracleへの転送、CSV取り込みといった目的で使うのですが、SQL Server同士のやりとりや、テーブルのバックアップをとる場合にも、十分に役立ちます。操作もウィザード形式で質問に答えていくだけなので簡単です。 また、DTSでは同じ端末にバックアップを作るのはもちろんのこと、ネットワークでつながっているSQL Serverであれば、どこにでもバックアップを作ることができます。
SQL Serverのデータベースの実体は、「MDFファイル」と「LDFファイル」の2つのWindowsファイルになります。この2ファイルをコピーすれば、それがそのままバックアップとなります。これらは通常、SQL Serverと結びついているのでコピーできないのですが、「デタッチ」操作で切り離すことによってコピーが可能となります。
デタッチした2つのファイルは、別のSQL Serverに対して適用操作「アタッチ」をすればそのまま動き出します。DTSと比べたメリットは、ネットワークでつながっていないSQL Serverにもデータベースを移せることです。 たとえば、お客さんのDBサーバーのデータを持ち帰って、社内で調査したいときなどに役立つでしょう。運用中のDBの場合でも、DTSでいったんデータベースを複製して、それをデタッチすれば、本番稼動中のDBを止めることなくDBを切り離すことができるのです。