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 DATABASE .
Convenzioni relative alla sintassi Transact-SQL
Sintassi
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 ]
[ ; ]
Argomenti
[ @dbname = ] N'dbname'
Nome del database da creare per l'utilizzo su supporti rimovibili. @dbname è sysname, con un valore predefinito .NULL
[ @syslogical = ] N'syslogical'
Nome logico del file che contiene le tabelle del catalogo di sistema. @syslogical è sysname, con un valore predefinito .NULL
[ @sysphysical = ] N'sysphysical'
Nome fisico. @sysphysical è nvarchar(260), con il valore predefinito NULL
. Questo valore include un percorso completo, del file che contiene le tabelle del catalogo di sistema.
[ @syssize = ] syssize
Dimensioni, in megabyte, del file che contiene le tabelle del catalogo di sistema. @syssize è int, con il valore predefinito NULL
.
[ @loglogical = ] N'loglogical'
Nome logico del file che contiene il log delle transazioni. @loglogical è sysname, con un valore predefinito .NULL
[ @logphysical = ] N'logphysical'
Nome fisico. @logphysical è nvarchar(260), con il valore predefinito NULL
. Questo valore include un percorso completo del file contenente il log delle transazioni.
[ @logsize = ] logsize
Dimensioni, in megabyte, del file che contiene il log delle transazioni. @logsize è int, con un valore minimo pari 1
a .
[ @datalogical1 = ] N'datalogical1'
Nome logico di un file contenente le tabelle dati. @datalogical1 è sysname, con il valore predefinito NULL
.
Deve essere presente tra 1
i file di dati e 16
. In genere, vengono creati più file di dati quando si prevede che il database sia di grandi dimensioni e deve essere distribuito su più dischi.
[ @dataphysical1 = ] N'dataphysical1'
Nome fisico. @dataphysical1 è nvarchar(260), con il valore predefinito NULL
. Questo valore include un percorso completo, di un file che contiene tabelle di dati.
[ @datasize1 = ] datasize1
Dimensioni, in megabyte, di un file che contiene tabelle di dati. @datasize1 è int, con un valore minimo pari 1
a .
Valori del codice restituito
0
(esito positivo) o 1
(errore).
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
È necessaria 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. Le autorizzazioni impediscono che i file vengano accidentalmente manomessi se risiedono in una directory con autorizzazioni aperte.
Operazione sul database | Autorizzazioni impostate sui file |
---|---|
Modificato per aggiungere un nuovo file | Data di creazione |
Backup eseguito | Allegato |
Ripristinato | 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;