RESTORE ステートメント - VERIFYONLY (Transact-SQL)RESTORE Statements - VERIFYONLY (Transact-SQL)

適用対象:○SQL Server (2008 以降)○Azure SQL Database (マネージド インスタンスのみ)×Azure SQL Data Warehouse ×Parallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL Database (Managed Instance only)noAzure SQL Data Warehouse noParallel Data Warehouse

復元せずにバックアップを確認して、バックアップ セットが完全なものであること、およびバックアップのすべてが読み取り可能であることを確認します。Verifies the backup but does not restore it, and checks to see that the backup set is complete and the entire backup is readable. ただし、RESTORE VERIFYONLY ステートメントが、バックアップ ボリュームに含まれているデータの構造を確認することはありません。However, RESTORE VERIFYONLY does not attempt to verify the structure of the data contained in the backup volumes. MicrosoftMicrosoft SQL ServerSQL Server では、データに対して追加のチェックを行い、エラーの検出率を高めることができるように RESTORE VERIFYONLY が強化されています。In MicrosoftMicrosoft SQL ServerSQL Server, RESTORE VERIFYONLY has been enhanced to do additional checking on the data to increase the probability of detecting errors. この機能の目的は、実際の復元操作にできるだけ近い状況を実現することです。The goal is to be as close to an actual restore operation as practical. 詳細については、「解説」を参照してください。For more information, see the Remarks.


Azure SQL Database Managed Instance では、この T-SQL 機能の特定の動作が変更されています。On Azure SQL Database Managed Instance, this T-SQL feature has certain behavior changes. すべての T-SQL の動作変更の詳細については、「Azure SQL Database Managed Instance と SQL Server の T-SQL の相違点」を参照してください。See Azure SQL Database Managed Instance T-SQL differences from SQL Server for details for all T-SQL behavior changes.

バックアップが有効な場合は、 SQL Server データベース エンジンSQL Server Database Engine は正常に終了したことを知らせるメッセージを返します。If the backup is valid, the SQL Server データベース エンジンSQL Server Database Engine returns a success message.


引数の説明については、「RESTORE の引数 (Transact-SQL)」を参照してください。For the descriptions of the arguments, see RESTORE Arguments (Transact-SQL).

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions


FROM <backup_device> [ ,...n ]  
[ WITH    

--Restore Operation Option  
 | MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'   
          [ ,...n ]   

--Backup Set Options  
 | FILE = { backup_set_file_number | @backup_set_file_number }   
 | PASSWORD = { password | @password_variable }   

--Media Set Options  
 | MEDIANAME = { media_name | @media_name_variable }   
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable }  

--Error Management Options  

--Monitoring Options  
 | STATS [ = percentage ]   

--Tape Options  
 | { UNLOAD | NOUNLOAD }    
 } [ ,...n ]  

<backup_device> ::=  
   { logical_backup_device_name |  
      @logical_backup_device_name_var }  
   | { DISK | TAPE } = { 'physical_backup_device_name' |  
       @physical_backup_device_name_var }   


RESTORE VERIFYONLY 引数の説明については、「RESTORE の引数 (Transact-SQL)」を参照してください。For descriptions of the RESTORE VERIFYONLY arguments, see RESTORE Arguments (Transact-SQL).

全般的な解説General Remarks

メディア セットまたはバックアップ セットには、Microsoft Tape Format として解釈できるように最小限の正しい情報が含まれている必要があります。The media set or the backup set must contain minimal correct information to enable it to be interpreted as Microsoft Tape Format. 含まれていない場合は、RESTORE VERIFYONLY が停止し、バックアップの形式が無効であることが示されます。If not, RESTORE VERIFYONLY stops and indicates that the format of the backup is invalid.

RESTORE VERIFYONLY で実行される確認項目には、次のようなものがあります。Checks performed by RESTORE VERIFYONLY include:

  • バックアップ セットが完全で、すべてのボリュームが読み取り可能であること。That the backup set is complete and all volumes are readable.

  • ページ ID など、データベース ページのヘッダー フィールドの情報 (データ書き込みを想定した確認)。Some header fields of database pages, such as the page ID (as if it were about to write the data).

  • チェックサム (メディアに存在する場合)。Checksum (if present on the media).

  • バックアップ先デバイスに十分な容量があるかどうか。Checking for sufficient space on destination devices.


RESTORE VERIFYONLY は、データベース スナップショットでは動作しません。RESTORE VERIFYONLY does not work on a database snapshot. 元に戻す操作を行う前にデータベース スナップショットを確認するには、DBCC CHECKDB を実行してください。To verify a database snapshot before a revert operation, you can run DBCC CHECKDB.


スナップショットのバックアップでは、RESTORE VERIFYONLY は、バックアップ ファイルで指定された場所にスナップショットの存在を確認します。With snapshot backups, RESTORE VERIFYONLY confirms the existence of the snapshots in the locations specified in the backup file. スナップショット バックアップは、 SQL Server 2016 (13.x)SQL Server 2016 (13.x) の新機能です。Snapshot backups are a new feature in SQL Server 2016 (13.x)SQL Server 2016 (13.x). スナップショット バックアップの詳細については、「Azure でのデータベース ファイルのスナップショット バックアップ」を参照してください。For more information about Snapshot Backups, see File-Snapshot Backups for Database Files in Azure.


バックアップ操作では、オプションで、メディア セットとバックアップ セットにそれぞれパスワードを設定できます。A backup operation may optionally specify passwords for a media set, a backup set, or both. メディア セットまたはバックアップ セットにパスワードが設定されている場合は、RESTORE ステートメントで正しいパスワードを指定する必要があります。When a password has been defined on a media set or backup set, you must specify the correct password or passwords in the RESTORE statement. これらのパスワードを設定しておくと、 SQL ServerSQL Server ツールを使って不正に復元操作が行われたり、メディアにバックアップ セットが不正に追加されたりするのを防ぐことができます。These passwords prevent unauthorized restore operations and unauthorized appends of backup sets to media using SQL ServerSQL Server tools. ただし、BACKUP ステートメントで FORMAT オプションが使用された場合、メディアの上書きを防ぐことはできません。However, a password does not prevent overwrite of media using the BACKUP statement's FORMAT option.


パスワードによる保護は強力なものではありません。The protection provided by this password is weak. 権限の有無にかかわらず、ユーザーが SQL ServerSQL Server ツールを使用して不適切な復元を行わないようにすることを目的としています。It is intended to prevent an incorrect restore using SQL ServerSQL Server tools by authorized or unauthorized users. その他の手段によるバックアップ データの読み取りやパスワードの置き換えを防ぐわけではありません。It does not prevent the reading of the backup data by other means or the replacement of the password. この機能はメンテナンス モードであり、Microsoft SQL Server の将来のバージョンで削除される可能性があります。This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。Avoid using this feature in new development work, and plan to modify applications that currently use this feature.バックアップ保護に最適な方法は、バックアップ テープを安全な場所に保管するか、バックアップしたディスク ファイルを適切なアクセス制御リスト (ACL) で保護することです。The best practice for protecting backups is to store backup tapes in a secure location or back up to disk files that are protected by adequate access control lists (ACLs). ACL は、バックアップを作成するディレクトリのルートに設定する必要があります。The ACLs should be set on the directory root under which backups are created.


SQL Server 2008:SQL Server 2008 以降のバージョンでは、バックアップ セットやバックアップ デバイスに関する情報の取得には CREATE DATABASE 権限が必要になります。Beginning in SQL Server 2008:SQL Server 2008, obtaining information about a backup set or backup device requires CREATE DATABASE permission. 詳細については、「GRANT (データベースの権限の許可) (Transact-SQL)」を参照してください。For more information, see GRANT Database Permissions (Transact-SQL).

参照See Also

BACKUP (Transact-SQL) BACKUP (Transact-SQL)
メディア セット、メディア ファミリ、およびバックアップ セット (SQL Server) Media Sets, Media Families, and Backup Sets (SQL Server)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
バックアップの履歴とヘッダーの情報 (SQL Server)Backup History and Header Information (SQL Server)