sp_create_removable (Transact-SQL)

適用対象:SQL Server

リムーバブル メディア データベースを作成します。 3 つ以上のファイル (システム カタログ テーブルとトランザクション ログに 1 つずつ、データ テーブルに 1 つ以上) を作成し、それらのファイルにデータベースを格納します。

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに CREATE DATABA Standard Edition を使用することをお勧めします。

Transact-SQL 構文表記規則

構文

  
sp_create_removable   
   [ @dbname = ] 'dbname',   
   [ @syslogical= ] 'syslogical',   
   [ @sysphysical = ] 'sysphysical',   
   [ @syssize = ] syssize,   
   [ @loglogical = ] 'loglogical',   
   [ @logphysical = ] 'logphysical',   
   [ @logsize = ] logsize,   
   [ @datalogical1 = ] 'datalogical1',   
   [ @dataphysical1 = ] 'dataphysical1',   
   [ @datasize1 = ] datasize1 ,   
   [ @datalogical16 = ] 'datalogical16',   
   [ @dataphysical16 = ] 'dataphysical16',   
   [ @datasize16 = ] datasize16 ]  

引数

[ @dbname = ] 'dbname' リムーバブル メディアで使用するために作成するデータベースの名前を指定します。 dbnamesysname です

[ @syslogical = ] 'syslogical' システム カタログ テーブルを含むファイルの論理名を指定します。 syslogicalsysname です

[ @sysphysical = ] 'sysphysical' 物理名を指定します。 システム カタログ テーブルを格納するファイルの名前をフル パスと共に指定します。 sysphysical is nvarchar(260).

[ @syssize = ] syssize システム カタログ テーブルを保持するファイルのサイズをメガバイト単位で指定します。 syssize は int です。最小 syssize は 1 です。

[ @loglogical = ] 'loglogical' トランザクション ログを含むファイルの論理名を指定します。 loglogicalsysname です

[ @logphysical = ] 'logphysical' 物理名を指定します。 これには、トランザクション ログを含むファイルの完全修飾パスが含まれます。 logphysicalnvarchar(260) です

[ @logsize = ] logsize トランザクション ログを含むファイルのサイズをメガバイト単位で指定します。 logsizeint です。最小 ログサイズ は 1 です。

[ @datalogical1 = ] 'datalogical' データ テーブルを含むファイルの論理名を指定します。 datalogicalsysname です

1 ~ 16 個のデータ ファイルが必要です。 データベースが大きくなり複数のディスクに分散する必要が生じた場合に備えて、通常、複数のデータ ファイルを作成します。

[ @dataphysical1 = ] 'dataphysical' 物理名を指定します。 データ テーブルを格納するファイルの名前をフル パスと共に指定します。 dataphysical is nvarchar(260).

[ @datasize1 = ] 'datasize' データ テーブルを含むファイルのサイズをメガバイト単位で指定します。 datasizeint です。最小 データ サイズ は 1 です。

リターン コードの値

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

結果セット

なし

解説

データベースのコピーをコンパクト ディスクなどのリムーバブル メディアに作成し、他のユーザーにデータベースを配布する場合は、このストアド プロシージャを使用します。

アクセス許可

CREATE DATABASE、CREATE ANY DATABASE、または ALTER ANY DATABASE の各権限が必要です。

SQL Server のインスタンス上のディスク使用量を管理するため、通常、データベースを作成する権限をいくつかのログイン アカウントに制限します。

データおよびログ ファイルに対する権限

データベースに対して特定の操作が実行されるたびに、対応する権限がそのデータ ファイルとログ ファイルに設定されます。 この権限は、開く権限のあるディレクトリにファイルが存在する場合に、そのファイルが誤って書き換えられるのを防ぎます。

データベースに対する操作 ファイルに対して設定される権限
変更して新しいファイルを追加 作成済
バックアップ 添付済
復旧済み デタッチ

Note

SQL Server では、データとログ ファイルのアクセス許可は設定されません。

次の例では、リムーバブル データベースとしてデータベース inventory を作成します。

EXEC sp_create_removable 'inventory',   
   'invsys',  
   'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invsys.mdf'  
, 2,   
   'invlog',  
   'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invlog.ldf', 4,  
   'invdata',  
   'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\invdata.ndf',   
10;  

参照

データベースのデタッチとアタッチ (SQL Server)
sp_certify_removable (Transact-SQL)
ALTER DATABASE (Transact-SQL)
sp_dbremove (Transact-SQL)
sp_detach_db (Transact-SQL)
sp_helpfile (Transact-SQL)
sp_helpfilegroup (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)