Share via


sp_create_removable (Transact-SQL)

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 dei dati, quindi viene inserito il database in questi file.

Nota importanteImportante

Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. È invece consigliabile utilizzare invece CREATE DATABASE.

Icona di collegamento a un argomento Convenzioni della 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 utilizzarlo nei supporti rimovibili. dbname è di tipo sysname.

  • [ @syslogical= ] 'syslogical'
    Nome logico del file contenente le tabelle del catalogo di sistema. syslogical è di tipo sysname.

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

  • [ @syssize= ] syssize
    Dimensione in megabyte del file contenente le tabelle del catalogo di sistema. syssize è di tipo int. Il valore minimo di syssize è 1.

  • [ @loglogical= ] 'loglogical'
    Nome logico del file contenente il log delle transazioni. loglogical è di tipo sysname.

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

  • [ @logsize= ] logsize
    Dimensioni in megabyte del file contenente il log delle transazioni. logsize è di tipo int. Il valore minimo di logsize è 1.

  • [ @datalogical1= ] 'datalogical'
    Nome logico di un file contenente le tabelle di dati. datalogical è di tipo 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 è di tipo nvarchar(260).

  • [ @datasize1= ] 'datasize'
    Dimensioni in megabyte di un file contenente le tabelle di dati. datasize è di tipo int. Il valore minimo di datasize è 1.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

Nessuno

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

È necessario disporre dell'autorizzazione CREATE DATABASE, CREATE ANY DATABASE o ALTER ANY DATABASE.

Per mantenere il controllo sull'utilizzo del disco per 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

A partire da SQL Server 2005, ogni volta che si eseguono determinate operazioni in un database, le autorizzazioni corrispondenti sono impostate 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

Creazione

Esecuzione del backup

Collegamento

Ripristino

Scollegamento

[!NOTA]

In SQL Server 2005 Express Edition non vengono impostate 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\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

Vedere anche

Riferimento

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)

Concetti

Collegamento e scollegamento di un database (SQL Server)