sp_create_removable (Transact-SQL)

Se aplica a:SQL Server

Crea una base de datos de medios extraíbles. Genera tres archivos o más (uno para las tablas de catálogo del sistema, otro para el registro de transacciones y uno o más archivos para las tablas de datos) y coloca la base de datos en esos archivos.

Importante

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Se recomienda usar CREATE DATABASE en su lugar.

Convenciones de sintaxis de Transact-SQL

Sintaxis

  
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 ]  

Argumentos

[ @dbname = ] 'dbname' Es el nombre de la base de datos que se va a crear para su uso en medios extraíbles. dbname es sysname.

[ @syslogical = ] 'syslogical' Es el nombre lógico del archivo que contiene las tablas del catálogo del sistema. syslogical es sysname.

[ @sysphysical = ] 'sysphysical' Es el nombre físico. Se incluye la ruta de acceso completa al archivo que contiene las tablas del catálogo del sistema. sysphysical es nvarchar(260).

[ @syssize = ] syssize Es el tamaño, en megabytes, del archivo que contiene las tablas del catálogo del sistema. syssize es int. El tamaño mínimo de syssize es 1.

[ @loglogical = ] 'loglogical' Es el nombre lógico del archivo que contiene el registro de transacciones. loglogical es sysname.

[ @logphysical = ] 'logphysical' Es el nombre físico. Se incluye la ruta de acceso completa al archivo que contiene el registro de transacciones. logphysical es nvarchar(260).

[ @logsize = ] logsize Es el tamaño, en megabytes, del archivo que contiene el registro de transacciones. logsize es int. El tamaño mínimo de registros es 1.

[ @datalogical1 = ] 'datalogical' Es el nombre lógico de un archivo que contiene las tablas de datos. datalogical es sysname.

Debe ser un número de archivos de datos comprendido entre 1 y 16. Normalmente, se crea más de un archivo de datos cuando se espera que la base de datos tenga un gran tamaño y deba distribuirse en varios discos.

[ @dataphysical1 = ] 'dataphysical' Es el nombre físico. Se incluye la ruta de acceso completa a un archivo que contiene tablas de datos. dataphysical es nvarchar(260).

[ @datasize1 = ] 'datasize' Es el tamaño, en megabytes, de un archivo que contiene tablas de datos. datasize es int. El tamaño mínimo de datos es 1.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

None

Comentarios

Utilice este procedimiento almacenado si desea realizar una copia de la base de datos en un medio extraíble (como un disco compacto) y distribuir la base de datos a otros usuarios.

Permisos

Requiere el permiso CREATE DATABASE, CREATE ANY DATABASE o ALTER ANY DATABASE.

Para mantener el control del uso del disco en una instancia de SQL Server, el permiso para crear bases de datos suele limitarse a un número reducido de cuentas de inicio de sesión.

Permisos en archivos de datos y de registro

Siempre que se realizan ciertas operaciones en una base de datos, los permisos correspondientes se establecen en sus datos y archivos de registro. Los permisos evitan que los archivos se modifiquen accidentalmente si residen en un directorio sin restricción de permisos.

Operación en base de datos Permisos establecidos en archivos
Modificada para agregar un nuevo archivo Creado
Realización de copia de seguridad Vinculado
Restaurada Separada

Nota:

SQL Server no establece permisos de archivo de registro ni datos.

Ejemplos

En el ejemplo siguiente se crea la base de datos inventory como una base de datos extraíble.

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;  

Consulte también

Ocultar y Adjuntar bases de datos (SQL Server)
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)
Procedimientos almacenados del sistema (Transact-SQL)