sp_create_removable (Transact-SQL)

建立抽取式媒體資料庫。 建立三個或更多檔案 (系統目錄資料表和交易記錄各有一個檔案,資料表有一個或多個檔案),將資料庫放在這些檔案中。

重要事項重要事項

未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。建議您改用 CREATE DATABASE

適用於:SQL Server (SQL Server 2008 至目前版本)。

主題連結圖示 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 不會設定資料和記錄檔的權限。

範例

下列範例會將 inventory 資料庫建立成卸除式資料庫。

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

請參閱

參考

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)

概念

資料庫卸離與附加 (SQL Server)