sp_create_removable (T-SQL)
Berlaku untuk: SQL Server
Membuat database media yang dapat dilepas. Membuat tiga atau beberapa file (satu untuk tabel katalog sistem, satu untuk log transaksi, dan satu atau beberapa untuk tabel data) dan menempatkan database pada file-file tersebut.
Penting
Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Kami menyarankan agar Anda menggunakan CREATE DATABASE sebagai gantinya.
Sintaks
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 ]
[ ; ]
Argumen
[ @dbname = ] N'dbname'
Nama database yang akan dibuat untuk digunakan pada media yang dapat dilepas. @dbname adalah sysname, dengan default NULL
.
[ @syslogical = ] N'syslogical'
Nama logis file yang berisi tabel katalog sistem. @syslogical adalah sysname, dengan default NULL
.
[ @sysphysical = ] N'sysphysical'
Nama fisik. @sysphysical adalah nvarchar(260), dengan default NULL
. Nilai ini mencakup jalur yang sepenuhnya memenuhi syarat, dari file yang menyimpan tabel katalog sistem.
[ @syssize = ] syssize
Ukurannya, dalam megabyte, dari file yang menyimpan tabel katalog sistem. @syssize int, dengan default NULL
.
[ @loglogical = ] N'loglogical'
Nama logis file yang berisi log transaksi. @loglogical adalah sysname, dengan default NULL
.
[ @logphysical = ] N'logphysical'
Nama fisik. @logphysical adalah nvarchar(260), dengan default NULL
. Nilai ini mencakup jalur yang sepenuhnya memenuhi syarat, dari file yang berisi log transaksi.
[ @logsize = ] logsize
Ukuran, dalam megabyte, dari file yang berisi log transaksi. @logsize int, dengan nilai 1
minimum .
[ @datalogical1 = ] N'datalogical1'
Nama logis file yang berisi tabel data. @datalogical1 adalah sysname, dengan default NULL
.
Harus ada antara 1
dan 16
file data. Biasanya, lebih dari satu file data dibuat ketika database diharapkan besar, dan harus didistribusikan pada beberapa disk.
[ @dataphysical1 = ] N'dataphysical1'
Nama fisik. @dataphysical1 adalah nvarchar(260), dengan default NULL
. Nilai ini mencakup jalur yang sepenuhnya memenuhi syarat, dari file yang berisi tabel data.
[ @datasize1 = ] datasize1
Ukurannya, dalam megabyte, dari file yang berisi tabel data. @datasize1 int, dengan nilai 1
minimum .
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Tataan hasil
Tidak ada.
Keterangan
Jika Anda ingin membuat salinan database Anda pada media yang dapat dilepas, seperti disk yang ringkas, dan mendistribusikan database ke pengguna lain, gunakan prosedur tersimpan ini.
Izin
CREATE DATABASE
Memerlukan izin , CREATE ANY DATABASE
, atau ALTER ANY DATABASE
.
Untuk mempertahankan kontrol atas penggunaan disk pada instans SQL Server, izin untuk membuat database biasanya terbatas pada beberapa akun masuk.
Izin pada file data dan log
Setiap kali operasi tertentu dilakukan pada database, izin yang sesuai diatur pada data dan file lognya. Izin mencegah file dirusak secara tidak sengaja jika berada di direktori yang membuka izin.
Operasi pada database | Izin diatur pada file |
---|---|
Dimodifikasi untuk menambahkan file baru | Dibuat |
Didukung | Terlampir |
Dipulihkan | Terlepas |
Catatan
SQL Server tidak mengatur izin file data dan log.
Contoh
Contoh berikut membuat database inventory
sebagai database yang dapat dilepas.
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;