sp_create_removable (Transact-SQL)

適用於:SQL Server

建立卸除式媒體資料庫。 建立三個或多個檔案(一個用於系統目錄數據表、一個用於事務歷史記錄,另一個用於數據表),並將資料庫放在這些檔案上。

重要

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' 這是要建立以用於卸除式媒體的資料庫名稱。 dbnamesysname

[ @syslogical = ] 'syslogical' 這是包含系統目錄數據表之檔案的邏輯名稱。 syslogicalsysname

[ @sysphysical = ] 'sysphysical' 這是實體名稱。 這包括保存系統目錄數據表之檔案的完整路徑。 sysphysicalnvarchar(260)

[ @syssize = ] syssize 這是保存系統目錄數據表之檔案的大小,以 MB 為單位。 syssizeint。最小 syssize 為 1。

[ @loglogical = ] 'loglogical' 這是包含事務歷史記錄檔的檔案邏輯名稱。 loglogicalsysname

[ @logphysical = ] 'logphysical' 這是實體名稱。 這包括包含事務歷史記錄檔的完整路徑。 logphysicalnvarchar(260)

[ @logsize = ] logsize 這是包含事務歷史記錄檔的大小,以 MB 為單位。 logsizeint。最小 記錄化 為 1。

[ @datalogical1 = ] 'datalogical' 這是包含數據表的檔案邏輯名稱。 datalogicalsysname

必須有 1 到 16 個資料檔。 一般而言,當資料庫必須是大型且必須分散在多個磁碟上時,就會建立多個數據檔。

[ @dataphysical1 = ] 'dataphysical' 這是實體名稱。 這包括包含數據表之檔案的完整路徑。 dataphysicalnvarchar(260)

[ @datasize1 = ] 'datasize' 這是包含數據表的檔案大小,以 MB 為單位。 datasizeint。最小 數據大小 為 1。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

None

備註

如果您想要在卸除式媒體上製作資料庫複本,例如光碟,並將資料庫散發給其他使用者,請使用此預存程式。

權限

需要 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\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)