Share via


sp_create_removable (Transact-SQL)

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

重要な注意事項重要

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

トピック リンク アイコン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'
    リムーバブル メディアに作成するデータベースの名前を指定します。dbname のデータ型は sysname です。

  • [ @syslogical= ] 'syslogical'
    システム カタログ テーブルを格納するファイルの論理名を指定します。syslogical のデータ型は sysname です。

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

  • [ @syssize= ] syssize
    システム カタログ テーブルを格納するファイルのサイズ (MB) を指定します。syssize のデータ型は int です。最小 syssize は 1 です。

  • [ @loglogical= ] 'loglogical'
    トランザクション ログを格納するファイルの論理名を指定します。loglogical のデータ型は sysname です。

  • [ @logphysical= ] 'logphysical'
    物理名です。トランザクション ログを格納するファイルの名前をフル パスと共に指定します。logphysical のデータ型は nvarchar(260) です。

  • [ @logsize= ] logsize
    トランザクション ログを格納するファイルのサイズ (MB) を指定します。logsize のデータ型は int です。最小 logsize は 1 です。

  • [ @datalogical1= ] 'datalogical'
    データ テーブルを格納するファイルの論理名を指定します。datalogical のデータ型は sysname です。

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

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

  • [ @datasize1= ] 'datasize'
    データ テーブルを格納するファイルのサイズ (MB) を指定します。datasize のデータ型は int です。最小 datasize は 1 です。

リターン コード値

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

結果セット

なし

説明

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

権限

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

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

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

SQL Server 2005 では、各データベースのデータ ファイルとログ ファイルに一定の権限が設定されます。次の操作がデータベースに適用されるたびに、次の権限が設定されます。

作成

変更して新しいファイルを追加

アタッチ

バックアップ

デタッチ

復元

この権限は、開く権限のあるディレクトリにファイルが存在する場合に、そのファイルが誤って書き換えられるのを防ぎます。詳細については、「データ ファイルとログ ファイルのセキュリティ保護」を参照してください。

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

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