Bagikan melalui


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.

Konvensi sintaks transact-SQL

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 1minimum .

[ @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 1minimum .

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 DATABASEMemerlukan 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;