Loading...

We've detected that your browser language is Chinese. Would you like to visit our Chinese website? [ Dismiss ]
By: Emma

データ保護は、信頼できるデータベース環境の基盤です。SSMSでデータベースをバックアップする方法を習得することは、誤った削除、ハードウェア障害、システムエラーから情報を守る最も効果的な手段です。

この記事ではSQL Server Management Studioにおけるデータベースバックアップの実践的な手順を解説します。GUIによる簡単な手動操作、カスタムT‑SQLスクリプト、自動スケジュールバックアップまでを扱います。

方法1:SSMS GUIによる手動バックアップ(ノーコード)

SQL Server Management Studio(SSMS)でのデータベースバックアップは、GUIを使用すると最も簡単です。コードを記述せず視覚的に操作したいユーザーに適しています。

手順ガイド

手順1:バックアップ設定ウィンドウを開く

SSMSのオブジェクトエクスプローラーにて対象データベースを右クリックし、タスクにカーソルを合わせ、バックアップ…を選択して設定画面を起動します。

Database‑Tasks‑Backup in SSMS GUI to backup database

手順2:基本的なバックアップ設定を行う

[全般]ページでデータベース名を確認し、バックアップの種類完全に設定されていることを確認し、データの完全なコピーを作成します。

手順3:バックアップファイルの保存先を設定(重要手順)

[保存先]セクションで追加をクリックし、安全なフォルダ(例:D:\SQLBackups)を参照し、拡張子.bakを付けた任意のファイル名を入力します。

In the Destination section, click Add

手順4:バックアップを実行

ウィンドウ下部のOKをクリックしてバックアップを開始します。進捗バーが表示され、「バックアップが正常に完了しました」の確認メッセージが出力されます。

Click OK at the bottom of the window to start the backup

手順5:バックアップを検証

指定したフォルダへ移動し、.bakファイルが存在し、想定されたファイルサイズであることを確認します。

メリット・デメリット

メリット:

  • 扱いやすい:T‑SQLの文法を知らない初心者でもSSMSからデータベースバックアップを実行できます。
  • 文法エラーが発生しにくい:ガイド付きのインターフェースにより、スクリプトのパス入力ミスを回避できます。

デメリット:

  • 作業コストがかかる:多数のデータベースが存在する環境では、データベースごとに手順を繰り返す必要があり非効率です。
  • 標準のスケジュール機能なし:単発実行のみ。毎日自動実行するには、メンテナンスプランまたはSQL Serverエージェントジョブの設定が別途必要です。

方法2:T‑SQLスクリプトによるカスタムバックアップ(柔軟)

より高い制御性と実行速度を求めるユーザーには、スクリプトによる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
ヒント:SQL Serverサービスアカウントに、保存先フォルダ(例:D:\SQLBackups)への書き込み権限が付与されていることを確認してください。「アクセス拒否」エラーが発生する場合、多くは文法エラーではなくフォルダ権限の問題です。

一括バックアップスクリプト(上級者向け)

インスタンス配下の全ユーザーデータベースを一括でバックアップする場合、下記スクリプトはループ処理によりタイムスタンプ付きの個別ファイルを生成します。

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

メリット・デメリット

メリット:

  • 高効率:複数データベースのバックアップ実行時、GUIのクリック操作より大幅に高速です。
  • 自動化に対応:SQL Serverエージェントジョブに組み込むことで、人手を介さない安定した保護を実現できます。

デメリット:

  • 文法ミスのリスク:ファイルパスやコマンドのタイプミスにより処理が失敗します。
  • 専門知識が必要:T‑SQLの基礎知識が求められ、完全な初心者には敷居があります。

方法3:SSMSでの自動スケジュールバックアップ

手動バックアップは単発作業に適していますが、プロフェッショナルな災害復旧戦略には自動化が不可欠です。SQL SSMSにてデータベースバックアップをスケジュール設定すると、毎日手動操作せずともデータを一貫して保護できます。

SSMSには自動バックアップを構築する主な2つの手段があります。スクリプトベースでカスタマイズ性の高いSQL Serverエージェントジョブ、ウィザードで一括設定可能なメンテナンスプランです。

注記:SQL Server ExpressエディションにはSQL Serverエージェントが搭載されていません。Expressで自動バックアップを行う場合はWindowsタスクスケジューラからsqlcmdユーティリティで.sqlファイルを実行してください。

SQL Serverエージェントによる自動バックアップジョブ

方法2のT‑SQLスクリプトを定期的に実行する手法です。

  1. SQL Serverエージェントを起動:オブジェクトエクスプローラー下部のSQL Serverエージェントが起動(緑色アイコン)していることを確認。停止している場合は右クリックして起動
  2. 新規ジョブを作成:[ジョブ]を右クリック→新規ジョブ…。ジョブ名を「データベース毎日完全バックアップ」などに設定。
  3. ジョブステップを定義:
    • [ステップ]タブで新規をクリック。
    • ステップ名を入力(例:バックアップスクリプト実行)。
    • コマンド欄にT‑SQLバックアップスクリプトを貼り付け、OK
  4. スケジュール設定:
    • [スケジュール]タブで新規をクリック。
    • 実行頻度(毎日など)と実行時刻(サーバー負荷の低い午前0時など)を設定。
  5. 保存:OKをクリックしジョブを作成。
ヒント:本番運用前にジョブを右クリックし「ステップからジョブを開始」を実行し、正常完了することを確認してください。

メンテナンスプランによるスケジュールバックアップ

バックアップだけでなくファイルのクリーンアップもウィザードで実施したい場合に適しています。

  1. ウィザードを起動:[管理]フォルダを展開、[メンテナンスプラン]を右クリックしメンテナンスプランウィザードを選択。
  2. タスク選択:「データベースのバックアップ(完全)」を選択。ディスク容量枯渇を防ぐため「メンテナンスクリーンアップタスク」(30日より古いバックアップを自動削除)も推奨。
  3. バックアップ設定:対象データベース、保存先フォルダを選択し、「バックアップの整合性を検証する」にチェック。
  4. スケジュール定義:スケジュール欄の変更をクリックし、定期実行時間(毎週日曜午前2時など)を設定。
  5. 完了:ウィザードを終了。SSMSが裏側でSQL Serverエージェントジョブを自動作成し実行します。

メリット・デメリット

メリット:

  • 設定後は放置可能:手動バックアップの実行忘れや人的ミスを回避。
  • リソースを効率的に利用:負荷の低い時間帯に重いバックアップ処理を実行し、業務への影響を抑制。

デメリット:

  • 監視が必要:ディスク空き容量や権限変更などによるジョブ失敗を定期的にジョブアクティビティモニターで確認する必要がある。
  • 設定の手間:ストレージ枯渇を防ぐためのクリーンアップ・保持ポリシーの初期設定が手動バックアップより複雑。

i2BackupでSQL Server保護ワークフローを効率化

SSMSでのバックアップ知識は重要ですが、環境規模が拡大すると手動手法や基本スクリプトの管理は困難になります。数分のデータ損失も許容できない基幹本番システムでは、i2Backupのようなエンタープライズソリューションが信頼性と効率性を大きく向上させます。

Info2softのi2Backupは集中管理・自動化プラットフォームであり、標準的なスケジュールジョブを大きく超えた機能を提供します。

SQL Serverでi2Backupを導入するメリット

  • マルチ環境対応:物理、仮想(VMware、Hyper‑Vなど)、クラウド、ハイブリッド環境で動作。SQL Server以外にOracle、MySQLなど他データベースにも対応。
  • 連続保護によるほぼゼロのRPO:一般的なSSMSスケジュールバックアップはデータ損失のギャップが生まれます。i2Backupは周期的なログバックアップにより、ほぼデータ損失なしのポイントインタイムリカバリを実現。
  • 一元管理:複数インスタンスに個別接続しSQLエージェントジョブを確認する代わりに、単一ダッシュボードから数百台のSQL Server(スタンドアロン、AG/FCIクラスタ含む)のバックアップを監視・管理可能。
  • スマートな保持とストレージ最適化:手動バックアップの課題であるディスク枯渇を回避。不要ファイルの自動削除ポリシーと高度な圧縮によりストレージ効率を最大化。
  • 簡易なデータベース単位リストア:SSMS手動リストアで必要な完全・差分・ログファイルの順序設定を省略。数クリックでデータベースを目的の状態に戻し、障害発生時のダウンタイムと人的ミスを低減。

専門的な視点では、SSMS手動バックアップからi2Backupのような自動化ツールへの移行は、「事後対応」から「予防的」なデータ保護への転換です。自動化により人的ミスリスクを抑え、単なる誤削除から大規模システム障害まで、常にリカバリ可能な状態を維持します。

60日間無料トライアル
安全なダウンロード

まとめ

データ保護はデータベース技術者にとって最も重要な業務です。GUIの簡便さ、T‑SQLの高速性、自動スケジュールの安定性、いずれの手法でもSSMSのバックアップを理解することで、環境をリカバリ可能な状態に保てます。

データ破壊を伴う作業実行前には特に重要です。テーブルの切り捨てと異なり、SQL ServerのDROP DATABASEコマンドはデータベース全体を恒久的に削除し、標準で復旧手段がありません。

プロフェッショナルな災害復旧戦略を維持するには、バックアップを必ず検証し、オフサイトへコピーを保管してください。大規模・複雑な環境を運用する場合はi2Backupのようなエンタープライズソリューションによりバックアップ業務をさらに効率化し、高い保護レベルと安心を得られます。

SQL Server Management Studio データベースバックアップ よくある質問(FAQs)

Q1:バックアップ実行時にデータベースを停止する必要はありますか?

いいえ。SSMSのバックアップ処理はオンライン実行です。SQL Serverはスナップショットによる整合性メカニズムを使用し、バックアップ中もユーザーが読み書きを継続可能で、本番環境のダウンタイムは発生しません。

Q2:自動バックアップが正常に動作するかテストする方法は?

まずSQLエージェントジョブを右クリックし「ステップからジョブを開始」を実行し、スクリプトがエラーなく完了することを確認します。さらに重要なのは、開発サーバー上で定期的にリストアテストを行うことです。リストアできることを確認して初めて、バックアップは真に成功したと言えます。

Q3:i2BackupはSQL Serverバックアップにエージェントを必要としますか?

i2Backupは仮想化ネイティブAPIを活用し、SQL Serverに対しエージェント不要(エージェントレス)のVMバックアップに対応し、本番環境への影響をゼロに抑えます。VMware、Hyper‑Vなど主要仮想プラットフォームに互換性があります。

概要は準備中です

関連記事

[5つの方法]vCenter「No Healthy Upstream」503エラーを修復する
vCenter「503 No healthy upstream」エラーに遭遇していませんか。本技術ガイドでは、証明書期限切れからディスク容量枯渇まで代表的な5つの根本原因を解説し、vSphereサービスを復旧して当該エラーを解消するためのCLIによる手順を紹介します。
記事を読む
vCenter 間で VMware 仮想マシンを移行する 4 つの手法
本記事ではvCenter間でVMware仮想マシンを移行する4つの安定的な手法を紹介し、停止時間、規模、環境の複雑さに応じて適切な移行方式を選定するための参考情報を提供します。
記事を読む
PostgreSQLからSQL Serverへの移行方法【完全ガイド】
このガイドはPostgreSQLからSQL Serverへの移行を解説しており、オフライン移行、段階的移行、低ダウンタイム移行の各戦略、SSMA、CSV、i2Streamといったツール、手順通りの実行マニュアルを含みます。ダウンタイムの最小化、データ完全性の確保、シームレスな移行を実現するためのアプリケーションの適合を重視しています。
記事を読む
【3つの手法】SQL Server差分バックアップの作成方法
このブログではSQL Server差分バックアップの3つの簡単な手法、初心者向けのSSMS GUI、上級者向けTransact‑SQL、効率的なi2Backupによる自動化を解説しています。基本原理や簡単なリストア手順も掲載しており、初心者からIT技術者まで手軽にデータ保護を実施できます。
記事を読む
目次:
最新情報を購読
最新のインサイト、ニュース、限定コンテンツをお届けします。いつでも配信解除が可能です。
購読する
ビジネスデータのセキュリティ強化を始めませんか?
60日間の無料トライアルまたはデモで、Info2softが企業データをどのように保護するかをご確認ください。
フォームにご記入の上、送信してください。担当者より追ってご連絡いたします。
このフォームを送信することにより、 プライバシー通知を読み、同意したことを確認します。
{{ isSubmitting ? '送信中...' : '送信する' }}