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.
Importante |
---|
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. |
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)
sp_helpfilegroup (Transact-SQL)
Stored procedure di sistema (Transact-SQL)