次の方法で共有


sp_addumpdevice (Transact-SQL)

適用対象: SQL サーバー

SQL Server のインスタンスにバックアップ デバイスを追加します。

Transact-SQL 構文表記規則

構文

sp_addumpdevice
    [ @devtype = ] 'devtype'
    , [ @logicalname = ] N'logicalname'
    , [ @physicalname = ] N'physicalname'
    [ , [ @cntrltype = ] cntrltype ]
    [ , [ @devstatus = ] 'devstatus' ]
[ ; ]

引数

[ @devtype = ] 'devtype'

バックアップ デバイスの種類。 @devtype は既定値なしで varchar(20)であり、次のいずれかの値を指定できます。

Value 説明
disk バックアップ デバイスとしてのハード ディスク ファイル。
tape Microsoft Windows でサポートされているテープ デバイス。

: テープ バックアップ デバイスのサポートは、今後のバージョンの SQL Server で削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

[ @logicalname = ] N'logicalname'

BACKUP ステートメントおよび RESTORE ステートメントで使用されるバックアップ デバイスの論理名。 @logicalname は既定 sysnameであり、 NULLすることはできません。

[ @physicalname = ] N'physicalname'

バックアップ デバイスの物理名。 @physicalnamenvarchar(260)であり、既定値はなく、 NULLすることはできません。 物理名は、オペレーティング システム ファイル名の規則またはネットワーク デバイスの汎用名前付け規則に従う必要があり、完全なパスを含める必要があります。

リモート ネットワークの場所にバックアップ デバイスを作成するときは、データベース エンジンが開始された名前にリモート コンピューター上の適切な書き込み機能があることを確認してください。

テープ デバイスを追加する場合、このパラメーターは Windows によってローカル テープ デバイスに割り当てられた物理名である必要があります。たとえば、コンピューター上の最初のテープ デバイスの \\.\TAPE0 します。 テープ デバイスをサーバー コンピューターに接続する必要があります。リモートで使用することはできません。 英数字以外の文字を含む名前を引用符で囲みます。

Note

この手順では、指定した物理名をカタログに入力します。 この手順では、デバイスへのアクセスや作成は試行されません。

[ @cntrltype = ] cntrltype

廃止。 指定した場合、このパラメーターは無視されます。 下位互換性のためにサポートされています。 sp_addumpdeviceの新しい使用方法では、このパラメーターを省略する必要があります。

[ @devstatus = ] 'devstatus'

廃止。 指定した場合、このパラメーターは無視されます。 下位互換性のためにサポートされています。 sp_addumpdeviceの新しい使用方法では、このパラメーターを省略する必要があります。

リターン コードの値

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

結果セット

ありません。

解説

sp_addumpdevice は、バックアップ デバイスを sys.backup_devices カタログ ビューに追加します。 その後、 BACKUP および RESTORE ステートメントでデバイスを論理的に参照できます。 sp_addumpdevice では、物理デバイスへのアクセスは実行されません。 指定したデバイスへのアクセスは、 BACKUP または RESTORE ステートメントが実行された場合にのみ発生します。 論理バックアップ デバイスを作成すると、 BACKUP ステートメントと RESTORE ステートメントを簡略化できます。ここで、デバイス名を指定することは、 TAPE = 句または DISK = 句を使用してデバイス パスを指定する代わりに使用できます。

所有権とアクセス許可の問題は、ディスクまたはファイル バックアップ デバイスの使用を妨げる可能性があります。 データベース エンジンが開始された Windows アカウントに適切なファイルアクセス許可が付与されていることを確認します。

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

ドライブの製造元が提案する特定のテープ ドライブに推奨されるテープのみを使用します。 デジタル オーディオ テープ (DAT) ドライブを使用している場合は、コンピューター グレードの DAT テープ (デジタル データ ストレージ (DDS)) を使用します。

sp_addumpdevice はトランザクション内で実行できません。

デバイスを削除するには、 sp_dropdevice または バックアップ デバイスの削除 (SQL Server) を使用します。

アクセス許可

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

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

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

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

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: テープ バックアップ デバイスを追加する

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

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

D. 論理バックアップ デバイスへのバックアップ

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

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