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 1a .

[ @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 1a .

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;