sqlcmdを使用してデータベースをローカルディスクにバックアップする方法

sqlcmd を使用した SQL Server バックアップは、データを保護するためのシンプルでスクリプト化可能な方法を提供します。このガイドでは、ローカルバックアップ、復元手順、およびさまざまな環境で信頼性と効率を確保するための強化機能について説明します。

download-icon
無料ダウンロード
VM、OS、DB、ファイル、NASなどに対応
ken-sato

Updated by 佐藤健 on 2025/12/03

目次
  • sqlcmd を使用してデータベースをローカル ディスクにバックアップする方法

  • Vinchinでよりスマートなデータベースバックアップを実現

  • sqlcmd を使用したデータベースのローカルディスクへのバックアップに関するよくある質問

  • 結論

バックアップおよびSQL Serverデータベースの復元は、データ保護と可用性を確保するために不可欠な作業です。sqlcmdコマンドラインユーティリティを使用すると、データベース管理者はグラフィカルインターフェースに依存することなくバックアップと復元を効率的に管理できます。このガイドでは、データベースをローカルディスクにバックアップするための基本ステップ、同じまたは別のサーバーでの復元方法、およびプロセスを効率化し信頼性を高めるために役立つ追加オプションについて説明します。

sqlcmd を使用してデータベースをローカル ディスクにバックアップする方法

手順 1. sqlcmd を使用してデータベースをローカル ディスクにバックアップする

次のコマンドを使用して、ローカル ディスクに .bak ファイルとしてデータベースをバックアップできます。

sqlcmd -S . -E -Q "BACKUP DATABASE YourDatabase TO DISK='D:\backup\YourDatabase.bak'"

パラメータの説明:

  • -S . — ローカルの SQL Server インスタンスに接続します。

  • -E — Windows 認証を使用します。

  • -Q — 次に続くSQLクエリを実行します。

  • TO DISK='path' — バックアップファイルの保存先を指定します。

例:

sqlcmd -S . -E -Q "BACKUP DATABASE TestDB TO DISK='D:\backup\TestDB.bak'"

手順2. バックアップファイルをローカルで復元する

同じサーバー上でバックアップされたデータベースを復元する場合は、次のコマンドを使用してください:

sqlcmd -S . -E -Q "RESTORE DATABASE YourDatabase FROM DISK='D:\backup\YourDatabase.bak'"

手順3. WITH MOVEを使用して別のサーバーに復元する

別のサーバーに復元する場合、元のファイル パスが存在しない可能性があります。このような場合は、WITH MOVEオプションを使用してデータ ファイルとログ ファイルの保存先を変更します:

sqlcmd -S . -E -Q "RESTORE DATABASE NewDatabase 
FROM DISK='D:\backup\YourDatabase.bak' 
WITH MOVE '論理データファイル名' TO 'D:\Data\NewDatabase.mdf',
MOVE '論理ログファイル名' TO 'D:\Data\NewDatabase_log.ldf'"

論理ファイル名を確認するには、次のコマンドを実行してください:

sqlcmd -S . -E -Q "RESTORE FILELISTONLY FROM DISK='D:\backup\YourDatabase.bak'"

出力結果のLogicalName列を探してください。この名前がWITH MOVE句で使用する必要がある名前です。

手順4. 役立つ強化機能

1. SQL認証を使用する(Windows認証のない環境向け)

sqlcmd -S ServerName -U Username -P Password -Q "BACKUP DATABASE ..."

2. バックアップ圧縮を有効にする(ファイルサイズを小さくするため)

BACKUP DATABASE YourDatabase TO DISK='path' WITH COMPRESSION

3. タスクスケジューラーでバックアップを自動化する

バックアップコマンドを.batファイルに保存し、Windowsのタスクスケジューラー経由でスケジュールすることで定期的なバックアップを自動化します。

Vinchinでよりスマートなデータベースバックアップを実現

sqlcmd はSQL Serverのバックアップを軽量かつスクリプト化して行う手段を提供しますが、複数のデータベース、定期的なバックアップ、保持ポリシー、災害復旧など、より複雑な要件を扱う場合には手動での管理がエラーを起こしやすく、非効率的になります。

データベース保護の効率性と信頼性を高めるため、強力でエージェントレスのバックアップソリューションである Vinchin Backup & Recovery— の利用をおすすめします。これはSQL Serverだけでなく、Oracle、MySQL、PostgreSQL、Postgres Pro、MariaDBなど、多くの他のデータベース種別もサポートしています。物理サーバーおよび仮想化プラットフォームの両方で柔軟な導入が設計されており、複雑なIT環境の要件を簡単に満たします。ユーザーは、フルバックアップ、差分バックアップ、増分バックアップ、トランザクションログバックアップなど、ニーズに応じてバックアップ戦略を構成でき、高頻度かつ低負荷のデータ保護を実現します。

Vinchinは柔軟なバックアップ戦略を提供するだけでなく、使いやすいWebコンソールを通じてすべてのバックアップタスクを一元管理することで、IT運用を簡素化します。SQL Serverに対しては、組み込みの整合性チェックツールを利用してデータの完全性を検証し、信頼性をさらに高めます。Vinchinの高度なバックアップ技術により、データベースのバックアップサイズを最大70%削減しつつ、運用環境のCPUリソースを最小限に抑えることが可能となり、バックアップ効率とストレージ利用率が大幅に向上します。インテリジェントなスケジューリングと自動ジョブ管理機能を備えたVinchinは、柔軟性、効率性、使いやすさを兼ね備えた企業向けデータベースバックアップソリューションを提供し、組織のストレージコストと全体的なメンテナンス作業量の削減を実現します。

Vinchin Backup & Recoveryの操作は非常に簡単で、わずか数ステップで完了します。

1.ホスト上の仮想マシンを選択するだけです

SQL Server バックアップ

2. バックアップ先を選択します 

SQL Server バックアップ

3.戦略の選択

SQL Serverバックアップ

4.ジョブを最終的に送信

SQL Server バックアップ

✅ Vinchin Backup & Recoveryの60日間無料トライアルを今すぐ申し込むにはここをクリックして、自動化されたデータベース保護への旅を簡単に始めましょう!

sqlcmd を使用したデータベースのローカルディスクへのバックアップに関するよくある質問

Q1: バックアップが失敗する原因は何ですか?

A1: パスが存在しない、または権限が不足しています(SQL Server サービス アカウントが書き込み権限を持つ必要があります)

データベース名が誤って入力されています

ログイン資格情報が正しくありません

ファイルは別のプロセスによって使用されています

Q2: 相対パスを使用できますか?

A2: 相対パスは推奨されません。パス解決エラーを回避するため、フルパスを使用するのがより適切です。

結論

sqlcmdを使用してSQL Serverをバックアップすることは、単純なタスクには効果的ですが、複雑な環境にまたがる拡張性があり、自動化された信頼性の高い保護には、Vinchin Backup & Recoveryが包括的なデータベースサポートと集中管理を備えたよりスマートなエージェントレスソリューションを提供します。

共有:

Categories: Database Backup