sp_create_removable (Transact-SQL)
Crea un database su supporti rimovibili. Crea 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 memorizza il database in tali file.
Importante |
---|
Questa caratteristica 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. |
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 sul supporto rimovibile. dbname è sysname.[ [ @syslogical= ] 'syslogical'
Nome logico del file contenente le tabelle del catalogo di sistema. syslogical è sysname.[ [ @sysphysical= ] 'sysphysical'
Nome fisico. Include il percorso completo del file contenente le tabelle del catalogo di sistema. sysphysical è nvarchar(260).[ [ @syssize= ] syssize
Dimensione in megabyte del file contenente le tabelle del catalogo di sistema. syssize è int. Il valore minimo di syssize è 1.[ [ @loglogical= ] 'loglogical'
Nome logico del file contenente il log delle transazioni. loglogical è sysname.[ [ @logphysical= ] 'logphysical'
Nome fisico. Include il percorso completo del file contenente il log delle transazioni. logphysical è nvarchar(260).[ [ @logsize= ] logsize
Dimensioni in megabyte del file contenente il log delle transazioni. logsize è int. Il valore minimo di logsize è 1.[ [ @datalogical1= ] 'datalogical'
Nome logico di un file contenente le tabelle di 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. Include il percorso completo del file contenente le tabelle di dati. dataphysical è nvarchar(260).[ [ @datasize1= ] 'datasize'
Dimensioni in megabyte di un file contenente le tabelle di dati. datasize è 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
In SQL Server 2005 vengono impostate autorizzazioni specifiche per i file di dati e di log in ogni database. Le autorizzazioni seguenti vengono impostate quando le operazioni elencate di seguito vengono eseguite in un database.
Creazione |
Modifica per l'aggiunta di un nuovo file |
Collegamento |
Esecuzione del backup |
Scollegamento |
Ripristino |
Le autorizzazioni consentono di evitare che vengano accidentalmente alterati i file che si trovano in una directory con autorizzazioni aperte. Per ulteriori informazioni, vedere Protezione dei dati e dei file di log.
[!NOTA]
Microsoft 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\MSSQL10.MSSQLSERVER\MSSQL\Data\invsys.mdf'
, 2,
'invlog',
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\invlog.ldf', 4,
'invdata',
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\invdata.ndf',
10