SQL Serverデータベースをローカルにバックアップする

外部のサーバーにあるSQL Serverのデータベースを、ローカルにバックアップします。Windows Serverのレンタルサーバをを解約するので、データが消失する前に手元に残しておこうというわけです。

ウィンサーバー(WinServer)を解約する

要はデータベース間のコピーなのですが、非常に簡単だったのでメモ的に残しておきます。

必要なツールは、SQL Server Management Studio(SSMS)に含まれる「SQL Server 2017 データのインポートおよびエクスポート」です。SSMSはVisual Studioと一緒には入りませんので、Microsoftのサイトからダウンロードしてインストールしておきましょう。

下記は、Windows 10上でのVisual Studio 2017/SQL Server 2017ベースでの操作です。

バックアップ先データベースファイルの作成

なお、バックアップ先のデータベースファイルは「SQL Server 2017 データのインポートおよびエクスポート」の操作中に作成することもできますが、ファイル名(場所)を自由に決められないので、「Visual Studio」で作成しておくことにしました。「SQL Server Management Studio」でもファイル名は自由にならないようです。

「Visual Studio」を起動します。そのまま右手にある[サーバーエクスプローラー]タブを選び、「データ接続」を右クリック、メニューから[接続の追加]を選びます。[新しいSQL Serverデータベースの作成]ではファイル名は自由になりません。

「接続の追加」になります。[データソース]はそのままで、[データベースファイル名]にバックアップ先のデータベースファイル(MDFファイル)を[参照]から指定して[OK]を押します。[サーバーにログオン]は「Windows認証」のままで問題ありません。指定したデータベースファイルが存在しない場合には、新規に作成するかの確認を求められますので、[はい]を選んで作成してもらいます。

以下のように作成されました。これでVisual Studioの出番は終わりなので終了させます。

データベースのバックアップの実施

スタートメニューから「SQL Server 2017 データのインポートおよびエクスポート」を起動します。「ようこそ」画面が出てきますので、[次へ]を押して先に進みます。

「データソースの選択」になります。ここで、バックアップ元のデータベースを指定します。[データソース]に「SQL Server Native Client 11.0」を選び、[サーバー名]にデータベースサーバのホスト名を、[認証]に認証情報(通常はSQL Server認証でユーザー名とパスワードを入れる)を入れ、[データベース]でバックアップ元のデータベース名を選んでおきます。

「変換先の選択」になります。ここで、バックアップ先のデータベースを指定します。[データソース]に同じく「SQL Server Native Client 11.0」を選び、[サーバー名]に「(localdb)\MSSQLLocalDb」を入力します。これがローカルデータベースの指定になります。[データベース]にてMDFファイルを選べるようになりますので、Visual Studioで作成したものを選択します。[認証]はそのままでかまいません。[次へ]を押して先に進みます。

このあとは、下の投稿で書いてあることと同じです。特に指定することもないので、どんどん進めば終わります。

SQL Serverでサーバ間でテーブルを丸ごとコピーする、もっとも簡単な方法とは?

ということで、無事バックアップが取れました。

コメント