Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
データ保護は、信頼できるデータベース環境の基盤です。SSMSでデータベースをバックアップする方法を習得することは、誤った削除、ハードウェア障害、システムエラーから情報を守る最も効果的な手段です。
この記事ではSQL Server Management Studioにおけるデータベースバックアップの実践的な手順を解説します。GUIによる簡単な手動操作、カスタムT‑SQLスクリプト、自動スケジュールバックアップまでを扱います。
SQL Server Management Studio(SSMS)でのデータベースバックアップは、GUIを使用すると最も簡単です。コードを記述せず視覚的に操作したいユーザーに適しています。
手順1:バックアップ設定ウィンドウを開く
SSMSのオブジェクトエクスプローラーにて対象データベースを右クリックし、タスクにカーソルを合わせ、バックアップ…を選択して設定画面を起動します。
手順2:基本的なバックアップ設定を行う
[全般]ページでデータベース名を確認し、バックアップの種類が完全に設定されていることを確認し、データの完全なコピーを作成します。
手順3:バックアップファイルの保存先を設定(重要手順)
[保存先]セクションで追加をクリックし、安全なフォルダ(例:D:\SQLBackups)を参照し、拡張子.bakを付けた任意のファイル名を入力します。
手順4:バックアップを実行
ウィンドウ下部のOKをクリックしてバックアップを開始します。進捗バーが表示され、「バックアップが正常に完了しました」の確認メッセージが出力されます。
手順5:バックアップを検証
指定したフォルダへ移動し、.bakファイルが存在し、想定されたファイルサイズであることを確認します。
メリット:
デメリット:
より高い制御性と実行速度を求めるユーザーには、スクリプトによるSSMSデータベースバックアップが適しています。T‑SQL(Transact‑SQL)はGUIメニューを介さず瞬時にバックアップを実行可能です。スクリプトを保存・再利用・修正し、多様なデータベース環境に対応でき、柔軟性に優れます。
標準的な完全バックアップを実行するには、SSMSで新規クエリウィンドウを開き下記スクリプトを使用します。業界標準のパラメータを含み、バックアップの検証と圧縮を行います。
-- 1. [YourDatabaseName]を対象データベース名に置き換え
-- 2. DISKのパスを使用するバックアップ先(ローカルディスクまたはネットワーク共有)に更新
-- 3. 各パラメータはMicrosoft推奨の完全バックアップベストプラクティスに準拠
BACKUP DATABASE [YourDatabaseName]
TO DISK = N'D:\SQLBackups\YourDatabaseName_Full_' + CONVERT(VARCHAR(20), GETDATE(), 112) + '.bak'
WITH
-- FORMAT:既存バックアップファイルを上書きし、古いバックアップへの追記を回避
-- 注意:対象ファイル内の既存データを削除するため慎重に使用
FORMAT,
-- MEDIANAME/NAME:バックアップセットの一意の識別子(msdbでの追跡を容易にする)
MEDIANAME = 'SQLServer_Full_Backups',
NAME = N'Full Backup of YourDatabaseName - ' + CONVERT(VARCHAR(20), GETDATE(), 120),
-- COMPRESSION:ファイルサイズを削減(通常30‑70%)し、バックアップ・リストアを高速化
-- 前提:SQL Server 2008 R2以降のStandardまたはEnterpriseエディション
COMPRESSION,
-- STATS = 10:メッセージタブに進捗(10%、20%…100%)を出力
STATS = 10,
-- CHECKSUM:バックアップ時にページの完全性を検証し、早期に破損を検知
-- バックアップ後はVERIFYONLYと組み合わせファイルの正当性を確認
CHECKSUM;
GO
-- オプション:バックアップ作成直後にファイルを検証(信頼性確保のため重要)
RESTORE VERIFYONLY
FROM DISK = N'D:\SQLBackups\YourDatabaseName_Full_' + CONVERT(VARCHAR(20), GETDATE(), 112) + '.bak';
GO
インスタンス配下の全ユーザーデータベースを一括でバックアップする場合、下記スクリプトはループ処理によりタイムスタンプ付きの個別ファイルを生成します。
DECLARE @name VARCHAR(100) -- データベース名
DECLARE @path VARCHAR(200) -- バックアップフォルダパス
DECLARE @fileName VARCHAR(256) -- 完全ファイル名
DECLARE @fileDate VARCHAR(20) -- ファイル名用タイムスタンプ
-- バックアップディレクトリを設定(サーバー環境に合わせて変更)
SET @path = 'D:\SQLBackups\'
-- 一意のファイル名のため現在日時を取得
SELECT @fileDate = CONVERT(VARCHAR(20), GETDATE(), 112) + '_' + REPLACE(CONVERT(VARCHAR(20), GETDATE(), 108), ':', '')
-- ユーザーデータベースを走査するカーソルを定義
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.sys.databases
WHERE name NOT IN ('master', 'model', 'msdb', 'tempdb') -- システムDBを除外
AND state_desc = 'ONLINE' -- オンライン状態のDBのみバックアップ
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.bak'
BACKUP DATABASE @name TO DISK = @fileName WITH CHECKSUM, COMPRESSION
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
メリット:
デメリット:
手動バックアップは単発作業に適していますが、プロフェッショナルな災害復旧戦略には自動化が不可欠です。SQL SSMSにてデータベースバックアップをスケジュール設定すると、毎日手動操作せずともデータを一貫して保護できます。
SSMSには自動バックアップを構築する主な2つの手段があります。スクリプトベースでカスタマイズ性の高いSQL Serverエージェントジョブ、ウィザードで一括設定可能なメンテナンスプランです。
方法2のT‑SQLスクリプトを定期的に実行する手法です。
バックアップだけでなくファイルのクリーンアップもウィザードで実施したい場合に適しています。
メリット:
デメリット:
SSMSでのバックアップ知識は重要ですが、環境規模が拡大すると手動手法や基本スクリプトの管理は困難になります。数分のデータ損失も許容できない基幹本番システムでは、i2Backupのようなエンタープライズソリューションが信頼性と効率性を大きく向上させます。
Info2softのi2Backupは集中管理・自動化プラットフォームであり、標準的なスケジュールジョブを大きく超えた機能を提供します。
専門的な視点では、SSMS手動バックアップからi2Backupのような自動化ツールへの移行は、「事後対応」から「予防的」なデータ保護への転換です。自動化により人的ミスリスクを抑え、単なる誤削除から大規模システム障害まで、常にリカバリ可能な状態を維持します。
データ保護はデータベース技術者にとって最も重要な業務です。GUIの簡便さ、T‑SQLの高速性、自動スケジュールの安定性、いずれの手法でもSSMSのバックアップを理解することで、環境をリカバリ可能な状態に保てます。
データ破壊を伴う作業実行前には特に重要です。テーブルの切り捨てと異なり、SQL ServerのDROP DATABASEコマンドはデータベース全体を恒久的に削除し、標準で復旧手段がありません。
プロフェッショナルな災害復旧戦略を維持するには、バックアップを必ず検証し、オフサイトへコピーを保管してください。大規模・複雑な環境を運用する場合はi2Backupのようなエンタープライズソリューションによりバックアップ業務をさらに効率化し、高い保護レベルと安心を得られます。
Q1:バックアップ実行時にデータベースを停止する必要はありますか?
いいえ。SSMSのバックアップ処理はオンライン実行です。SQL Serverはスナップショットによる整合性メカニズムを使用し、バックアップ中もユーザーが読み書きを継続可能で、本番環境のダウンタイムは発生しません。
Q2:自動バックアップが正常に動作するかテストする方法は?
まずSQLエージェントジョブを右クリックし「ステップからジョブを開始」を実行し、スクリプトがエラーなく完了することを確認します。さらに重要なのは、開発サーバー上で定期的にリストアテストを行うことです。リストアできることを確認して初めて、バックアップは真に成功したと言えます。
Q3:i2BackupはSQL Serverバックアップにエージェントを必要としますか?
i2Backupは仮想化ネイティブAPIを活用し、SQL Serverに対しエージェント不要(エージェントレス)のVMバックアップに対応し、本番環境への影響をゼロに抑えます。VMware、Hyper‑Vなど主要仮想プラットフォームに互換性があります。