sp_create_removable (Transact-SQL)
適用於:SQL Server
建立卸除式媒體資料庫。 建立三個或多個檔案(一個用於系統目錄數據表、一個用於事務歷史記錄,另一個用於數據表),並將資料庫放在這些檔案上。
重要
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 建議您改用 CREATE DATABASE 。
語法
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。最小 記錄化 為 1。
[ @datalogical1 = ] 'datalogical'
這是包含數據表的檔案邏輯名稱。 datalogical 是 sysname。
必須有 1 到 16 個資料檔。 一般而言,當資料庫必須是大型且必須分散在多個磁碟上時,就會建立多個數據檔。
[ @dataphysical1 = ] 'dataphysical'
這是實體名稱。 這包括包含數據表之檔案的完整路徑。 dataphysical 是 nvarchar(260)。
[ @datasize1 = ] 'datasize'
這是包含數據表的檔案大小,以 MB 為單位。 datasize 為 int。最小 數據大小 為 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)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應