Share via


sp_create_removable (Transact-SQL)

Si applica a:SQL Server

Viene creato un database su supporti rimovibili. Vengono creati tre o più file, uno per le tabelle del catalogo di sistema, uno per il log delle transazioni e uno o più per le tabelle di dati, quindi viene inserito il database in questi file.

Importante

Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. È consigliabile usare invece CREATE DATABA edizione Standard.

Convenzioni di sintassi Transact-SQL

Sintassi

  
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 ]  

Argomenti

[ @dbname = ] 'dbname' Nome del database da creare per l'utilizzo su supporti rimovibili. dbname è sysname.

[ @syslogical = ] 'syslogical' Nome logico del file che contiene le tabelle del catalogo di sistema. syslogical è sysname.

[ @sysphysical = ] 'sysphysical' Nome fisico. In esso è incluso un percorso completo del file contenente le tabelle del catalogo di sistema. sysphysical è nvarchar(260).

[ @syssize = ] syssize Dimensioni, in megabyte, del file che contiene le tabelle del catalogo di sistema. syssize è int. La dimensione minima di syssize è 1.

[ @loglogical = ] 'loglogical' Nome logico del file che contiene il log delle transazioni. loglogical è sysname.

[ @logphysical = ] 'logphysical' Nome fisico. In esso è incluso un percorso completo del file contenente il log delle transazioni. logphysical è nvarchar(260).

[ @logsize = ] logsize Dimensione, in megabyte, del file che contiene il log delle transazioni. logsize è int. La dimensione minima di log è 1.

[ @datalogical1 = ] 'datalogical' Nome logico di un file che contiene le tabelle dati. datalogical è sysname.

Il numero dei file di dati è compreso tra 1 e 16. Vengono in genere creati più file di dati quando si prevede che il database sia di grandi dimensioni e debba essere pertanto suddiviso su più dischi.

[ @dataphysical1 = ] 'dataphysical' Nome fisico. In esso è incluso un percorso completo di un file contenente le tabelle di dati. dataphysical è nvarchar(260).

[ @datasize1 = ] 'datasize' Dimensioni, in megabyte, di un file che contiene tabelle di dati. datasize è int. La dimensione minima dei dati è 1.

Valori del codice restituito

0 (operazione completata) o 1 (operazione non riuscita)

Set di risultati

None

Osservazioni:

Utilizzare questa stored procedure se si desidera creare una copia del database su un supporto rimovibile, ad esempio un CD, e distribuire il database ad altri utenti.

Autorizzazioni

È richiesta l'autorizzazione CREATE DATABASE, CREATE ANY DATABASE o ALTER ANY DATABASE.

Per mantenere il controllo sull'uso del disco in un'istanza di SQL Server, l'autorizzazione per la creazione dei database è in genere limitata a pochi account di accesso.

Autorizzazioni per i file di dati e di log

Ogni volta che si eseguono determinate operazioni in un database, vengono impostate le autorizzazioni corrispondenti per i relativi file di dati e di log. Con le autorizzazioni è possibile evitare che vengano accidentalmente alterati i file che si trovano in una directory con autorizzazioni aperte.

Operazione nel database Autorizzazioni impostate per i file
Modifica per l'aggiunta di un nuovo file Data di creazione
Esecuzione del backup Allegato
Ripristinata Detached

Nota

SQL Server non imposta le autorizzazioni per i file di dati e di log.

Esempi

Nell'esempio seguente il database inventory viene creato come database rimovibile.

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;  

Vedi anche

Collegamento e scollegamento di un database (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)
Stored procedure di sistema (Transact-SQL)