sp_create_removable (Transact-SQL)
適用於:SQL Server
建立卸除式媒體資料庫。 建立三個或多個檔案(一個用於系統目錄數據表、一個用於事務歷史記錄,另一個用於數據表),並將資料庫放在這些檔案上。
重要
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 建議您改用 CREATE DATABASE 。
語法
sp_create_removable
[ [ @dbname = ] N'dbname' ]
[ , [ @syslogical = ] N'syslogical' ]
[ , [ @sysphysical = ] N'sysphysical' ]
[ , [ @syssize = ] syssize ]
[ , [ @loglogical = ] N'loglogical' ]
[ , [ @logphysical = ] N'logphysical' ]
[ , [ @logsize = ] logsize ]
[ , [ @datalogical1 = ] N'datalogical1' ]
[ , [ @dataphysical1 = ] N'dataphysical1' ]
[ , [ @datasize1 = ] datasize1 ]
[ , ... ]
[ , [ @datalogical16 = ] N'datalogical16' ]
[ , [ @dataphysical16 = ] N'dataphysical16' ]
[ , [ @datasize16 = ] datasize16 ]
[ ; ]
引數
[ @dbname = ] N'dbname'
要用於卸除式媒體的資料庫名稱。 @dbname為 sysname,預設值為 NULL
。
[ @syslogical = ] N'syslogical'
包含系統目錄數據表之檔案的邏輯名稱。 @syslogical為 sysname 預設值為 NULL
。
[ @sysphysical = ] N'sysphysical'
實體名稱。 @sysphysical為 nvarchar(260),預設值為 NULL
。 此值包含保存系統目錄數據表之檔案的完整路徑。
[ @syssize = ] syssize
保存系統目錄數據表之檔案的大小,以 MB 為單位。 @syssize為 int,預設值為 NULL
。
[ @loglogical = ] N'loglogical'
包含事務歷史記錄檔的檔案邏輯名稱。 @loglogical為 sysname,預設值為 NULL
。
[ @logphysical = ] N'logphysical'
實體名稱。 @logphysical為 nvarchar(260),預設值為 NULL
。 這個值包含包含事務歷史記錄檔之檔案的完整路徑。
[ @logsize = ] logsize
包含事務歷史記錄檔的大小,以 MB 為單位。 @logsize為 int,最小值為 1
。
[ @datalogical1 = ] N'datalogical1'
包含數據表之檔案的邏輯名稱。 @datalogical1為 sysname,預設值為 NULL
。
與資料檔案之間1
16
必須有 。 一般而言,當資料庫必須是大型且必須分散在多個磁碟上時,就會建立多個數據檔。
[ @dataphysical1 = ] N'dataphysical1'
實體名稱。 @dataphysical1為 nvarchar(260),預設值為 NULL
。 這個值包含包含數據表之檔案的完整路徑。
[ @datasize1 = ] datasize1
包含數據表的檔案大小,以 MB 為單位。 @datasize1為 int,最小值為 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\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;