sp_addumpdevice (Transact-SQL)

バックアップ デバイスを Microsoft SQL Server 2005 データベース エンジンのインスタンスに追加します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_addumpdevice [ @devtype = ] 'device_type' 
        , [ @logicalname = ] 'logical_name' 
        , [ @physicalname = ] 'physical_name'
      [ , { [ @cntrltype = ] controller_type |
          [ @devstatus = ] 'device_status' }
      ]

引数

  • [ @devtype= ] 'device_type'
    バックアップ デバイスの種類を指定します。device_type のデータ型は varchar(20) で、次のいずれかの値を指定できます。

    説明

    disk

    バックアップ デバイスとしてのハード ディスク ファイル。

    tape

    Microsoft Windows でサポートされるテープ デバイス。

    注意
    テープ バックアップ デバイスは、将来のバージョンの SQL Server でサポートされなくなる予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。
  • [ @logicalname = ] 'logical_name'
    BACKUP ステートメントおよび RESTORE ステートメントで使用するバックアップ デバイスの論理名を指定します。logical_name のデータ型は sysname で、既定値はありません。NULL 値は許可されません。

  • [ @physicalname = ] 'physical_name'
    バックアップ デバイスの物理名を指定します。物理名にはオペレーティング システムのファイル名の規則またはネットワーク デバイスの UNC (汎用名前付け規則) が適用されます。物理名には完全パスを指定する必要があります。physical_name のデータ型は nvarchar(260) で、既定値はありません。NULL 値は許可されません。

    リモート ネットワーク上にバックアップ デバイスを作成する場合は、データベース エンジンを起動した名前でそのリモート コンピューター上に書き込むことができるか確認してください。

    テープ デバイスを追加する場合、このパラメーターには、Windows でローカル テープ デバイスに割り当てられている物理名を指定します。たとえば、コンピューターの 1 台目のテープ デバイスは、\\.\TAPE0 になります。テープ デバイスは、必ずサーバー コンピューターに接続してください。リモートからは使用できません。英数字以外の文字を含む名前は、引用符で囲みます。

    注意

    このプロシージャでは、指定された物理名がカタログに入力されます。プロシージャがデバイスへのアクセスや作成を試みることはありません。

  • [ @cntrltype = ] 'controller_type'
    使用されなくなりました。このパラメーターを指定しても無視されます。旧バージョンとの互換性のためだけに用意されています。sp_addumpdevice を初めて使用する場合は、このパラメーターを指定しないでください。

  • [ @devstatus = ] 'device_status'
    使用されなくなりました。このパラメーターを指定しても無視されます。旧バージョンとの互換性のためだけに用意されています。sp_addumpdevice を初めて使用する場合は、このパラメーターを指定しないでください。

リターン コードの値

0 (成功) または 1 (失敗)

結果セット

なし

説明

sp_addumpdevice では、バックアップ デバイスが sys.backup_devices カタログ ビューに追加されます。その後、そのデバイスを BACKUP ステートメントや RESTORE ステートメントで論理的に参照できるようになります。sp_addumpdevice では物理デバイスにアクセスすることはありません。BACKUP ステートメントや RESTORE ステートメントが実行されるときにだけ、指定されたデバイスにアクセスされます。論理バックアップ デバイスを作成すると、デバイス パスの指定時にデバイス名を指定する代わりに "TAPE =" 句や "DISK =" 句を指定できるので、BACKUP ステートメントや RESTORE ステートメントを簡素化できます。

ディスクまたはファイルのバックアップ デバイスを使用する場合は、所有権や権限が問題になることがあります。データベース エンジンを起動する Windows アカウントに適切なファイル権限が付与されているかどうかを確認してください。

データベース エンジンでは、Windows でサポートされているテープ デバイスへのバックアップがサポートされます。Windows でサポートされるテープ デバイスの詳細については、Windows のハードウェア互換性リストを参照してください。コンピューターで使用できるテープ デバイスを表示するには、SQL Server Management Studio を使用します。

各テープ ドライブのメーカーが推奨するテープ以外は使用しないでください。DAT (digital audio tape) ドライブを使用している場合は、コンピューター用の DAT テープ (Digital Data Storage-DDS) を使用してください。

sp_addumpdevice をトランザクション内で実行することはできません。

デバイスを削除するには、sp_dropdevice または SQL Server Management Studio を使用します。

権限

diskadmin 固定サーバー ロールのメンバーシップが必要です。

ディスクに対する書き込み権限が必要です。

A. ディスク ダンプ デバイスを追加する

次の例では、mydiskdump というディスク バックアップ デバイスを物理名 c:\dump\dump1.bak で追加します。

USE master;
GO
EXEC sp_addumpdevice 'disk', 'mydiskdump', 'c:\dump\dump1.bak';

B. ネットワーク ディスク バックアップ デバイスを追加する

次の例では、networkdevice というリモートのディスク バックアップ デバイスを追加します。データベース エンジンを起動する名前には、そのリモート ファイル (\\<servername>\<sharename>\<path>\<filename>.bak) を扱う権限が必要です。

USE master;
GO
EXEC sp_addumpdevice 'disk', 'networkdevice',
    '\\<servername>\<sharename>\<path>\<filename>.bak';

C. テープ バックアップ デバイスを追加する

次の例では、tapedump1 デバイスを物理名 \\.\tape0 で追加します。

USE master;
GO
EXEC sp_addumpdevice 'tape', 'tapedump1', '\\.\tape0';

D. 論理バックアップ デバイスにバックアップする

次の例では、バックアップ ディスク ファイル用の論理バックアップ デバイス AdvWorksData を作成した後、作成した論理バックアップ デバイスに AdventureWorks2008R2 データベースをバックアップします。

USE master
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksData', 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\BACKUP\AdvWorksData.bak';
GO
BACKUP DATABASE AdventureWorks2008R2 
 TO AdvWorksData
   WITH FORMAT;
GO