sp_create_removable (Transact-SQL)
建立抽取式媒體資料庫。 建立三個或更多檔案 (系統目錄資料表和交易記錄各有一個檔案,資料表有一個或多個檔案),將資料庫放在這些檔案中。
重要事項 |
---|
未來的 Microsoft 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。 最小的 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 開始,每當您在資料庫上執行某些作業時,系統就會針對其資料和記錄檔設定對應的權限。 檔案所在的目錄如有開放權限,上述權限可防止檔案遭到意外竄改。
資料庫的作業 |
針對檔案設定的權限 |
---|---|
修改以加入新檔案 |
已建立 |
已備份 |
已附加 |
已還原 |
已卸離 |
[!附註]
SQL Server 2005 Express Edition 不會設定資料和記錄檔的權限。
範例
下列範例會將 inventory 資料庫建立成卸除式資料庫。
EXEC sp_create_removable 'inventory',
'invsys',
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\invsys.mdf'
, 2,
'invlog',
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\invlog.ldf', 4,
'invdata',
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\invdata.ndf',
10
請參閱
參考
sp_certify_removable (Transact-SQL)
sp_helpfilegroup (Transact-SQL)