Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
MySQLやPostgreSQLといった他のデータベースを扱ったことがある方は、「データベースダンプ」という用語を目にしたことがあるでしょう。これはバックアップや移行用途でデータをファイルに出力する作業を指します。SQL Serverの仕様はこれらと少し異なるため、初めて触れると用語に混乱することがあります。
本ガイドでは、SQL Serverのデータベースを出力する実用的な3つの手法(標準バックアップ、SQLスクリプト出力、BACPACファイル)を順に解説し、業務シナリオに最適な方式を選べるようにします。
SQL Serverでのデータベースダンプとは、データベースのスキーマ、データ、または両方をファイルに出力し、バックアップ・移行・復旧に活用する処理を意味します。SQL Serverの公式用語は「バックアップ」で、出力形式は3種類に分かれます:バイナリ形式の.bakファイル、.sqlスクリプト、可搬性の高い.bacpacパッケージです。
現在業界で「SQL Serverのデータベースダンプ」と呼ぶ場合、基本的に何らかの形式でデータを出力・バックアップする作業を指します。
簡易的なバックアップから完全な環境移行まで、SQL ServerはGUI操作とコマンドラインの両方に対応した出力手段を提供しています。
SQL Serverで最も汎用的なバックアップ方式は.bakファイルを作成する方法です。データベース全体のスキーマとデータを丸ごと保存でき、大容量DBにおいて最も高速に処理できます。
SSMSによる操作手順:
T-SQL(コマンドライン)による操作:
定期実行や自動化に適した手法です。SSMSの新しいクエリから実行するか、sqlcmdユーティリティを使ってコマンドラインから直接実行可能です。
BACKUP DATABASE [対象DB名]
TO DISK = 'C:\Backups\対象DB.bak'
WITH FORMAT, MEDIANAME = 'SQLServerBackups', NAME = '対象DB 完全バックアップ';
WITH CHECKSUMを追加すると、処理中にデータの整合性検証を実行できます。人間が読める形式でDBデータを取得したい場合、SSMS標準のスクリプト生成ウィザードを利用し、DB全体を再構築するためのT-SQLが記載された.sqlファイルとして出力できます。
操作手順:
この手法はバージョン管理ツールに登録したり、異なるSQL Serverバージョン間でデータを移行したりする際に有用です。.bakファイルに互換性がない環境でも活用できます。
BACPACファイルはスキーマとデータを1つにまとめた論理出力ファイルで、Azure SQL Databaseをはじめとするクラウド環境への移行や、可搬性の高いDBスナップショット作成に多用されます。
操作手順:
復元手順は事前に使用した出力方式によって異なります。
.bakファイルからの復元:SSMSにてデータベースフォルダを右クリックし、データベースの復元… を選択。「ソース」欄でデバイスを選び、参照ボタンから.bakファイルを指定後、OKを押して画面の指示に従います。
T-SQLによる復元コマンド:
RESTORE DATABASE [復元先DB名]
FROM DISK = 'C:\Backups\対象DB.bak'
WITH RECOVERY;
SSMSで.sqlファイルを開き、実行をクリックします。大容量ファイルの場合はコマンドラインのsqlcmdを使用すると効率的です。
データベースフォルダを右クリックし、データ層アプリケーションのインポート… を選択。ウィザードに.bacpacファイルを指定するだけでSQL Serverが自動的に復元処理を実行します。
簡単なルールを守るだけで、出力ファイルの信頼性とデータの安全性を確保できます。
.bakファイルのサイズ削減、ディスク容量節約、バックアップ処理の高速化が実現します。CHECKSUMを記述しましょう。ファイル書き込み時にデータ整合性を検証し、破損を検知するとバックアップ処理を中断します。手動でSQL Serverのバックアップを管理する方法には、スケジュール衝突、タスクの未実行、整合性未検証ファイルといった課題が付きまといます。
i2BackupはSQL Server環境に完全対応し、上記の一連の作業を自動化する企業向けバックアップ製品です。
i2Backupを導入すれば、DB保護の運用負担を大幅に削減できます。SQL Serverデータを別環境へ移行する必要がある場合は、次の項目をご参照ください。
バックアップは現在の環境のデータを守る手段ですが、環境間でデータを移動する際には別の専用ツールが必要です。i2Streamは企業向けデータレプリケーションソリューションで、同種・異種データベース環境を跨いだリアルタイム同期、移行、災害復旧に対応します。
SQL Server移行にi2Streamが選ばれる理由:
SQL Serverのデータ移行作業を簡素化したいですか?
Q1:SQL Serverにおけるダンプとバックアップの違いは?
現行のSQL Serverでは実質的な差はありません。「ダンプ」はMySQLなど古いデータベースシステムの用語で、現在のSQL Serverではバックアップとダンプは同じ意味で扱われます。
Q2:データベース全体ではなく単一テーブルだけ出力することは可能?
可能です。SSMSのスクリプト生成ウィザードで対象テーブルのみ選択するか、bcp(一括コピーユーティリティ)を使用して単一テーブルのデータをファイル出力できます。
Q3:SQL Serverのバックアップを自動化する方法は?
SQL Server Agentジョブを活用します。T-SQLバックアップスクリプトを実行する定時タスクを作成すると、任意のスケジュールで自動的にデータが出力されます。
Q4:SQL Serverでデータベースを出力するために必要な権限は?
基本的にデータベース固定ロールのdb_ownerメンバーである必要があります。またはアカウントに明示的にBACKUP DATABASE権限を付与することも可能です。
Q5:.bakファイルはすべてのSQL Serverバージョンと互換性がある?
.bakファイルは下位互換性を持ちますが上位互換性はありません。古いバージョンのバックアップは新しいバージョンに復元できますが、逆は不可能です。
SQL Serverのデータベース出力作業は複雑ではありません。災害復旧高速化向けの.bakファイル、バージョン管理向けのSQLスクリプト、クラウド移行向けのBACPACファイル、それぞれの用途に適した方式が存在します。
重要なのは業務シナリオに合わせて適切な出力手法を選択し、トラブル発生時だけでなく平時から定期的に復元テストを実施することです。
手動による出力作業から脱却したい運用担当者には、i2BackupがSQL Serverをはじめ各種DBプラットフォームのバックアップ工程全体を自動化します。またデータ移行が目的の場合はi2Streamにより、業務への影響を最小限に抑えたリアルタイム移行を実現できます。
まずは今の業務要件に合った出力手法から試し、段階的に運用体制を整えていきましょう。